Simpleperf

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:

  1. Buka project Android Anda di Editor Unity.
  2. Di jendela Build Settings untuk platform Android, pastikan opsi Development Build dicentang.
  3. Klik Player Settings dan tetapkan properti Stripping Level ke Disabled.