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.
  • Energy profiler melacak penggunaan energi, yang dapat berkontribusi pada penggunaan daya baterai.

Alat ini kompatibel dengan Android 5.0 (level API 21) dan yang lebih tinggi. Untuk informasi selengkapnya tentang alat ini, lihat halaman lainnya di bagian panduan pengguna ini.

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
Power Profiler Ya Ya
Pemantauan Peristiwa 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.

Membangun 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 level API 29 atau lebih tinggi dan memiliki Google Play. Untuk menggunakan fitur ini, klik panah di samping ikon Profile app dan pilih antara dua opsi:

Klik sekali pada menu 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.

Membangun dan menjalankan aplikasi yang dapat dibuat profil secara manual

Untuk secara manual membangun aplikasi yang dapat dibuat profil, Anda harus membangun 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.

Membangun 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 Membangun 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

Sesi

Anda dapat menyimpan data Profiler sebagai sesi, yang akan tetap tersimpan hingga Anda keluar dari Android Studio. Dengan merekam informasi pembuatan profil dalam beberapa sesi dan beralih antara sesi, Anda dapat membandingkan penggunaan resource dalam berbagai skenario.

  • Untuk memulai sesi baru, klik tombol Start a new profiling session dan pilih proses aplikasi dari menu dropdown yang akan muncul.
  • Ketika Anda merekam aktivitas atau menangkap heap dump, Android Studio akan menambahkan data tersebut (bersama aktivitas jaringan aplikasi) sebagai entri terpisah ke sesi saat ini.
  • Untuk berhenti menambahkan data ke sesi saat ini, klik Stop the current profiling session .
  • Untuk mengimpor rekaman aktivitas yang diekspor dari pengoperasian Android Studio sebelumnya, klik Start new profiler session dan pilih Load from file.

Mengaktifkan dukungan tambahan untuk perangkat yang lebih lama (level API < 26)

Untuk menampilkan data pembuatan profil tambahan saat menjalankan perangkat dengan Android 7.1 atau yang lebih rendah, Android Studio harus memasukkan logika pemantauan ke dalam aplikasi yang telah dikompilasi. Data pembuatan profil tambahan ini menyertakan hal berikut:

  • Linimasa peristiwa di semua jendela profiler
  • Jumlah objek yang dialokasikan dalam Memory Profiler
  • Peristiwa pembersihan sampah memori dalam Memory Profiler
  • Detail tentang semua file yang ditransmisikan dalam Network Profiler

Untuk mengaktifkan dukungan tambahan untuk perangkat yang lebih lama, ikuti langkah-langkah ini:

  1. Pilih Run > Edit Configurations.
  2. Pilih modul aplikasi dalam panel kiri.
  3. Klik tab Profiling, lalu centang Enable additional support for older devices (level API < 26).
  4. Bangun dan jalankan aplikasi kembali.

Mengaktifkan dukungan tambahan untuk perangkat yang lebih lama akan memperlambat proses build, sehingga sebaiknya Anda hanya mengaktifkannya ketika ingin memulai pembuatan profil aplikasi.

Menjalankan profiler mandiri

Profiler Android Studio mandiri memungkinkan Anda membuat profil aplikasi tanpa menjalankan IDE Android Studio sepenuhnya.

Untuk menjalankan profiler mandiri, lakukan hal berikut:

  1. Pastikan profiler saat ini tidak berjalan di dalam Android Studio.
  2. Buka direktori penginstalan dan buka direktori bin:

    Windows/Linux: studio-installation-folder/bin

    macOS: Penggunaan profiler mandiri tidak didukung di macOS.

  3. Bergantung pada OS Anda, jalankan profiler.exe atau profiler.sh. Layar pembuka Android Studio akan muncul. Setelah layar pembuka menghilang, jendela profiler akan terbuka.