Anda dapat mengumpulkan profil menggunakan dua metode utama: pengumpulan profil manual dan ProfilingManager
API.
- Pengumpulan profil manual melibatkan menjalankan Perfetto secara manual di perangkat lokal untuk merekam profil. Anda dapat melakukannya menggunakan perintah seperti yang dijelaskan dalam Merekam rekaman aktivitas sistem dengan Perfetto atau dengan menggunakan kartu Setelan Cepat, seperti yang dijelaskan dalam Merekam menggunakan kartu Setelan Cepat.
ProfilingManager
memungkinkan aplikasi mengumpulkan profil dalam produksi.
Sebaiknya gunakan ProfilingManager
untuk mengumpulkan dan menganalisis data dari
banyak pengguna atau untuk men-debug masalah langka. Namun, untuk masalah yang lebih mudah direproduksi, pembuatan profil manual mungkin merupakan pilihan yang lebih baik.
Tabel berikut menunjukkan perbedaan kedua metode perekaman profil ini:
ProfilingManager | Pengumpulan profil manual | |
---|---|---|
Kontrol waktu profil | Lainnya | Lebih sedikit |
Sumber profil | Perangkat lokal dan pengguna publik | Khusus perangkat lokal |
Output profil | Disamarkan | Tidak disunting |
Pembuatan profil berbasis peristiwa | Ya | Tidak |
Penyesuaian profil | Lebih sedikit | Lainnya |
Skalabilitas | Tinggi | Rendah |
Bagian berikut menjelaskan secara singkat perbedaan antara metode perekaman profil.
Kontrol waktu profil
API ProfilingManager
memberikan kontrol lebih besar terkait kapan aplikasi memulai atau menghentikan pembuatan profil dibandingkan dengan pembuatan profil manual, yang mungkin sulit untuk menentukan waktu inisialisasi profil. ProfilingManager
juga mempermudah
pembuatan profil perilaku yang tidak terduga karena Anda dapat mengumpulkan profil meskipun Anda tidak dapat
mereproduksi perilaku tersebut secara lokal.
Sumber profil
Dengan ProfilingManager
, Anda dapat mengumpulkan data dari pengguna publik untuk menemukan dan memperbaiki masalah performa. Sebaliknya, pembuatan profil manual hanya memungkinkan Anda mereproduksi masalah
di perangkat Anda sendiri.
Output profil
ProfilingManager
dan pengumpulan manual menghasilkan jenis output profil yang berbeda:
ProfilingManager
menghasilkan rekaman aktivitas yang disamarkan. Rekaman aktivitas yang disamarkan menampilkan informasi tentang proses aplikasi Anda, tetapi menyembunyikan data dari aplikasi lain di sistem. KarenaProfilingManager
mengumpulkan dan menyamarkan sebelum menampilkannya, Anda dapat mengumpulkan rekaman aktivitas dari pengguna publik sambil melindungi privasi mereka dengan tidak menampilkan data dari aplikasi lain.Pengumpulan profil manual menghasilkan rekaman aktivitas yang tidak disamarkan. Saat Anda merekam aktivitas sistem secara manual, output mungkin mencakup semua proses yang berjalan di sistem. Meskipun trace yang tidak disamarkan ini menawarkan data yang lebih lengkap untuk proses debug, Anda hanya dapat mengaksesnya secara lokal karena masalah privasi.
Pembuatan profil berbasis peristiwa
ProfilingManager
juga dapat mengumpulkan profil saat peristiwa tertentu terjadi, seperti error Aplikasi Tidak Merespons (ANR) atau startup aplikasi. ProfilingManager
akan menangani mulai dan berhentinya profil untuk pengumpulan berbasis peristiwa.
Penyesuaian profil
Pembuatan profil manual memberikan penyesuaian terbanyak, sementara ProfilingManager
menawarkan lebih sedikit opsi penyesuaian.
Skalabilitas
ProfilingManager
adalah cara terbaik untuk menskalakan pelacakan karena ini adalah satu-satunya opsi yang memungkinkan developer aplikasi merekam profil dari pengguna publik. Dengan
ProfilingManager
, Anda dapat menyiapkan pengumpulan dan analisis rekaman aktivitas dalam skala besar.
Pembuatan profil manual terbatas untuk penggunaan lokal.