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.
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.](https://android-dot-devsite-v2-prod.appspot.com/static/studio/images/one-click-profileable-build-menu.png?hl=id)
Profile 'app' with low overhead memulai CPU dan Memory profiler. Di Memory profiler, hanya Record Native Allocations yang diaktifkan.
Profile 'app' with complete data memulai CPU, Memory, dan Energy Profiler.
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:
-
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 } }
-
Di Android Studio, pilih Build > Select Build Variant... dan pilih varian rilis.
Mengubah rilis ke yang dapat dibuat profil
-
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"/>
-
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:
-
Dari emulator atau perangkat pengembangan, mulai aplikasi.
-
Di Android Studio, luncurkan profiler dengan memilih View > Tool Windows > Profiler.
-
Setelah aplikasi diluncurkan, klik tombol
di profiler untuk melihat menu dropdown. Pilih perangkat, lalu pilih entri aplikasi di bagian Other profileable processes.
-
Profiler harus dilampirkan ke aplikasi. Hanya CPU dan Memory Profiler yang tersedia, dengan kemampuan terbatas untuk Memory Profiler.
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:
- Pilih Run > Edit Configurations.
- Pilih modul aplikasi dalam panel kiri.
- Klik tab Profiling, lalu centang Enable additional support for older devices (level API < 26).
- 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:
- Pastikan profiler saat ini tidak berjalan di dalam Android Studio.
Buka direktori penginstalan dan buka direktori
bin
:Windows/Linux:
studio-installation-folder/bin
macOS: Penggunaan profiler mandiri tidak didukung di macOS.
- Bergantung pada OS Anda, jalankan
profiler.exe
atauprofiler.sh
. Layar pembuka Android Studio akan muncul. Setelah layar pembuka menghilang, jendela profiler akan terbuka.