Android Studio menyertakan front end grafis ke Simpleperf, yang didokumentasikan dalam Memeriksa aktivitas CPU dengan CPU Profiler. Sebagian besar pengguna akan lebih suka menggunakannya daripada menggunakan Simpleperf secara langsung.
Jika Anda lebih memilih menggunakan command line, Simpleperf adalah alat pembuatan profil CPU command line serbaguna yang disertakan dalam NDK untuk Mac, Linux, dan Windows.
Untuk dokumentasi selengkapnya, mulai dengan membaca README Simpleperf.
Tips dan resep Simpleperf
Jika Anda baru mengenal Simpleperf, berikut adalah beberapa perintah yang mungkin berguna. Untuk perintah dan opsi lainnya, lihat Referensi perintah dan opsi Simpleperf.
Menemukan library bersama yang memerlukan waktu eksekusi paling lama
Anda dapat menjalankan perintah ini untuk melihat file .so
mana yang menghabiskan persentase terbesar waktu eksekusi (berdasarkan jumlah siklus CPU). Sebaiknya jalankan ini sebagai perintah pertama saat memulai sesi analisis performa.
$ simpleperf report --sort dso
Menemukan fungsi yang memerlukan waktu eksekusi paling lama
Setelah mengidentifikasi library bersama yang memerlukan waktu eksekusi paling lama, Anda dapat menjalankan perintah ini untuk melihat persentase waktu yang dihabiskan untuk menjalankan fungsi dari file .so
tersebut.
$ simpleperf report --dsos library.so --sort symbol
Menemukan persentase waktu yang dihabiskan di thread
Waktu eksekusi di file .so
dapat dibagi menjadi beberapa thread. Anda dapat menjalankan perintah ini untuk melihat persentase waktu yang dihabiskan di setiap thread.
$ simpleperf report --sort tid,comm
Menemukan persentase waktu yang dihabiskan di modul objek
Setelah menemukan thread tempat sebagian besar waktu eksekusi dihabiskan, Anda dapat menggunakan perintah ini untuk memisahkan modul objek yang memerlukan waktu eksekusi paling lama di thread tersebut.
$ simpleperf report --tids threadID --sort dso
Melihat keterkaitan panggilan fungsi
Grafik panggilan memberikan representasi visual tentang pelacakan tumpukan yang direkam Simpleperf selama sesi pembuatan profil.
Anda dapat menggunakan perintah report -g
untuk mencetak grafik panggilan guna melihat fungsi
yang dipanggil oleh fungsi lain. Hal ini berguna untuk menentukan apakah sebuah fungsi memang lambat, atau apakah itu karena satu atau beberapa fungsi yang dipanggilnya yang lambat.
$ simpleperf report -g
Anda juga dapat menggunakan skrip Python report.py -g
untuk memulai alat interaktif yang menampilkan
fungsi. Anda dapat mengklik setiap fungsi untuk melihat banyaknya waktu yang dihabiskan di turunannya.
Membuat profil aplikasi yang dibangun dengan Unity
Jika membuat profil aplikasi yang dibuat dengan Unity, pastikan Anda membuat aplikasi yang memiliki simbol debug dengan mengikuti langkah-langkah berikut:
- Buka project Android Anda di Editor Unity.
- Di jendela Build Settings untuk platform Android, pastikan opsi Development Build dicentang.
- Klik Player Settings dan tetapkan properti Stripping Level ke Disabled.