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 suka menggunakan command line, Simpleperf adalah alat pembuatan profil CPU command line serbaguna yang disertakan dalam NDK untuk Mac, Linux, dan Windows.

Untuk dokumentasi selengkapnya, mulailah dengan membaca README Simpleperf.

Tips dan urutan langkah Simpleperf

Jika Anda baru mengenal Simpleperf, berikut adalah beberapa perintah yang mungkin berguna. Untuk perintah dan opsi lainnya, lihat Referensi Perintah 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 bagaimana panggilan fungsi berkaitan

Grafik panggilan memberikan representasi visual dari pelacakan tumpukan yang direkam Simpleperf selama sesi pembuatan profil. Sebelum mulai merekam informasi grafik panggilan, lihat Pertimbangan perekaman.

Anda dapat menggunakan perintah report -g untuk mencetak grafik panggilan guna melihat fungsi apa saja 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 report.py -g Python untuk memulai alat interaktif yang menampilkan fungsi. Anda dapat mengklik setiap fungsi untuk melihat banyaknya waktu yang dihabiskan di turunannya.

Membuat profil aplikasi yang dibuat 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.