Membuat profil performa aplikasi

Aplikasi dianggap memiliki performa buruk jika merespons dengan lambat, menampilkan animasi yang putus-putus, berhenti berfungsi, atau menggunakan terlalu banyak daya. Memperbaiki masalah performa melibatkan identifikasi area tempat aplikasi Anda menggunakan resource seperti CPU, memori, grafis, jaringan, atau daya baterai perangkat secara tidak efisien.

Untuk menemukan dan memperbaiki masalah ini, gunakan alat dan teknik pembuatan profil serta benchmarking yang dijelaskan dalam topik ini. Untuk mempelajari teknik mengukur performa dan contoh cara menggunakan teknik ini untuk menyelesaikan masalah tertentu, lihat Mengukur performa.

Android Studio menawarkan beberapa alat pembuatan profil untuk membantu menemukan dan memvisualisasikan potensi masalah:

  • CPU profiler membantu melacak masalah performa runtime.
  • Memory profiler membantu melacak alokasi memori.
  • Network profiler memantau penggunaan traffic jaringan.
  • Energy profiler melacak penggunaan energi, yang dapat berkontribusi pada penggunaan daya baterai.

Untuk informasi selengkapnya tentang alat ini, lihat halaman Profiler Android Studio.

Library Benchmark Jetpack memungkinkan aplikasi Anda mengukur berbagai operasi penting:

  • Macrobenchmark: Mengukur kasus penggunaan performa yang penting, termasuk startup dan menggambar ulang aplikasi yang dipicu oleh tindakan seperti animasi UI atau scrolling.
  • Microbenchmark: Mengukur biaya CPU untuk fungsi tertentu.

Untuk mempelajari library ini lebih lanjut, lihat halaman Benchmark aplikasi Anda.

Aplikasi yang dapat dibuat profil

Profileable adalah konfigurasi manifes yang diperkenalkan di Android Q. Atribut ini dapat menentukan apakah pengguna perangkat dapat membuat profil aplikasi ini melalui alat seperti Android Studio, Simpleperf, dan Perfetto.

Sebelum profileable, sebagian besar developer hanya dapat membuat profil aplikasi yang dapat di-debug di Android, yang menambah biaya performa yang signifikan sebagai efek samping. Biaya performa ini dapat membatalkan hasil pembuatan profil, terutama jika terkait dengan waktu. Tabel 1 merangkum perbedaan antara aplikasi yang dapat di-debug dan yang dapat dibuat profil.

Tabel 1. Ringkasan perbedaan utama antara aplikasi yang dapat di-debug dan yang dapat dibuat profil.
Fitur Dapat di-debug Dapat dibuat profil
Memory Profiler Penuh

Ya:

Tidak:

CPU Profiler Penuh

Ya:

Tidak:

Network Profiler Ya Tidak
Energy Profiler Ya Tidak
Pemantauan Acara Ya Tidak

Profileable telah diperkenalkan sehingga developer dapat memilih untuk mengizinkan aplikasi mereka mengekspos informasi ke alat pembuatan profil, sekaligus menimbulkan sedikit biaya performa. APK yang dapat dibuat profil pada dasarnya adalah APK rilis dengan baris <profileable android:shell="true"/> yang ditambahkan di bagian <application> file manifes.

Mem-build dan menjalankan aplikasi yang dapat dibuat profil secara otomatis

Anda dapat mengonfigurasi, mem-build, dan menjalankan aplikasi yang dapat dibuat profil dengan sekali klik. Fitur ini memerlukan perangkat pengujian virtual atau fisik yang menjalankan API level 29 atau lebih tinggi dan memiliki Google Play. Untuk menggunakan fitur ini, klik panah di samping ikon Profile app dan pilih antara dua opsi:

Menu klik sekali build yang dapat dibuat profil.
  • Profile 'app' with low overhead memulai CPU dan Memory profiler. Di Memory profiler, hanya Record Native Allocations yang diaktifkan.

    Membuat profil dengan overhead rendah.
  • Profile 'app' with complete data memulai CPU, Memory, dan Energy Profiler.

    Membuat profil dengan data lengkap.

Mem-build dan menjalankan aplikasi yang dapat dibuat profil secara manual

Untuk secara manual mem-build aplikasi yang dapat dibuat profil, Anda harus mem-build aplikasi rilis terlebih dahulu, lalu memperbarui file manifesnya, yang mengubah aplikasi rilis menjadi aplikasi yang dapat dibuat profil. Setelah mengonfigurasi aplikasi yang dapat dibuat profil, luncurkan profiler dan pilih proses yang dapat dibuat profil untuk dianalisis.

Mem-build aplikasi rilis

Untuk mem-build aplikasi rilis bagi tujuan pembuatan profil, lakukan hal berikut:

  1. Tandatangani aplikasi Anda menggunakan kunci debug dengan menambahkan baris berikut ke file build.gradle aplikasi Anda. Jika sudah memiliki varian build rilis yang berfungsi, Anda dapat melanjutkan ke langkah berikutnya.

            buildTypes {
              release {
                signingConfig signingConfigs.debug
              }
            }
          
  2. Di Android Studio, pilih Build > Select Build Variant... dan pilih varian rilis.

Mengubah rilis ke yang dapat dibuat profil

  1. Konversi aplikasi rilis dari atas menjadi aplikasi yang dapat dibuat profil dengan membuka file AndroidManifest.xml dan menambahkan berikut ini dalam <application>. Untuk detail selengkapnya, lihat Mem-build aplikasi untuk dirilis.

    <profileable android:shell="true"/>

  2. Bergantung pada versi SDK, Anda mungkin perlu menambahkan baris berikut ke file build.gradle aplikasi.

          aaptOptions {
            additionalParameters =["--warn-manifest-validation"]
          }
        

Membuat profil aplikasi yang dapat dibuat profil

Untuk membuat profil aplikasi yang dapat dibuat profil, lakukan hal berikut:

  1. Dari emulator atau perangkat pengembangan, mulai aplikasi.

  2. Di Android Studio, luncurkan profiler dengan memilih View > Tool Windows > Profiler.

  3. Setelah aplikasi diluncurkan, klik tombol Tombol plus profiler di profiler untuk melihat menu dropdown. Pilih perangkat, lalu pilih entri aplikasi di bagian Other profileable processes.

    Menu yang dapat dibuat profil
  4. Profiler harus dilampirkan ke aplikasi. Hanya CPU dan Memory Profiler yang tersedia, dengan kemampuan terbatas untuk Memory Profiler.

    Tampilan sesi yang dapat dibuat profil
    Menu yang dapat dibuat profil
    Menu yang dapat dibuat profil