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 Anda untuk merekam profil. Anda dapat melakukannya menggunakan perintah seperti yang dijelaskan dalam Merekam pelacakan sistem dengan Perfetto atau menggunakan kartu Setelan Cepat, seperti yang dijelaskan dalam Merekam menggunakan kartu Setelan Cepat.
ProfilingManagermemungkinkan aplikasi mengumpulkan profil dalam produksi.
Sebaiknya gunakan ProfilingManager untuk mengumpulkan dan menganalisis data dari banyak pengguna atau untuk melakukan proses debug masalah yang jarang terjadi. Namun, untuk masalah yang lebih mudah direproduksi, pembuatan profil manual mungkin merupakan pilihan yang lebih baik.
Tabel berikut menunjukkan perbedaan antara kedua metode untuk merekam profil:
| ProfilingManager | Pengumpulan profil manual | |
|---|---|---|
| Kontrol waktu profil | Lainnya | Ciutkan |
| Sumber profil | Perangkat lokal dan pengguna publik | Hanya perangkat lokal |
| Output profil | Disamarkan | Tidak disamarkan |
| Pembuatan profil berbasis peristiwa | Ya | Tidak |
| Kustomisasi profil | Ciutkan | Lainnya |
| Skalabilitas | Tinggi | Rendah |
Bagian berikut menjelaskan secara singkat perbedaan antara metode perekaman profil.
Kontrol waktu profil
ProfilingManager API memberikan kontrol yang lebih besar atas kapan aplikasi memulai atau menghentikan profil dibandingkan dengan pembuatan profil manual, yang mungkin sulit untuk menginisialisasi profil waktu. ProfilingManager juga memudahkan pembuatan profil perilaku yang tidak terduga karena Anda dapat mengumpulkan profil meskipun tidak dapat mereproduksi perilaku 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:
ProfilingManagermenghasilkan pelacakan yang disamarkan. Pelacakan yang disamarkan menampilkan informasi tentang proses aplikasi Anda, tetapi menyembunyikan data dari aplikasi lain di sistem. KarenaProfilingManagermengumpulkan dan menyamarkan sebelum menampilkannya, Anda dapat mengumpulkan pelacakan dari pengguna publik sekaligus melindungi privasi mereka dengan tidak menampilkan data dari aplikasi lain.Pengumpulan profil manual menghasilkan pelacakan yang tidak disamarkan. Saat Anda merekam pelacakan sistem secara manual, output mungkin menyertakan semua proses yang berjalan di sistem. Meskipun pelacakan 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 memulai dan menghentikan profil untuk pengumpulan berbasis peristiwa.
Kustomisasi profil
Pembuatan profil manual memberikan kustomisasi terbanyak, sedangkan ProfilingManager menawarkan opsi kustomisasi yang lebih sedikit.
Skalabilitas
ProfilingManager adalah cara terbaik untuk melakukan penskalaan pelacakan karena merupakan satu-satunya opsi yang memungkinkan developer aplikasi merekam profil dari pengguna publik. Dengan ProfilingManager, Anda dapat menyiapkan pengumpulan dan analisis pelacakan skala besar.
Pembuatan profil manual terbatas untuk penggunaan lokal.