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 pemrofilan 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 ini 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 putaran 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 mengisolasi modul objek yang memerlukan waktu eksekusi paling lama di thread tersebut.

    $ simpleperf report --tids threadID --sort dso
    

Melihat bagaimana panggilan fungsi terkait

Grafik panggilan memberikan representasi visual dari pelacakan tumpukan yang direkam oleh Simpleperf selama sesi pemrofilan. 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 Python report.py -g untuk memulai alat interaktif yang menampilkan fungsi. Anda dapat mengklik setiap fungsi untuk melihat banyaknya waktu yang dihabiskan di turunannya.

Memprofilkan aplikasi yang dibuat dengan Unity

Jika membuat profil aplikasi yang di-build dengan Unity, pastikan Anda mem-build 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.