Save the date! Android Dev Summit is coming to Mountain View, CA on November 7-8, 2018.

Mengukur Kinerja Aplikasi dengan Android Profiler

Jendela Android Profiler baru di Android Studio 3.0 menggantikan alat Android Monitor. Alat pembuatan profil baru ini menyediakan data realtime untuk CPU, memori, dan aktivitas jaringan aplikasi Anda. Anda bisa melakukan pelacakan metode berbasis sampel untuk mengukur waktu eksekusi kode Anda, merekam heap-dump, menampilkan alokasi memori, dan memeriksa detail file yang dikirim lewat jaringan.

Untuk membuka jendela Android Profiler, ikuti langkah-langkah ini:

  1. Klik View > Tool Windows > Android Profiler (Anda juga bisa mengklik Android Profiler di toolbar).
  2. Di bagian atas jendela Android Profiler, seperti yang ditampilkan dalam gambar 1, pilih perangkat 1 dan proses aplikasi 2 yang ingin Anda buat profilnya. Jika Anda menghubungkan perangkat melalui USB namun tidak melihatnya tercantum, pastikan Anda telah mengaktifkan proses debug USB.

    Jika Anda menggunakan Android Emulator atau perangkat yang telah di-root, Android Profiler akan menampilkan daftar semua proses yang sedang berjalan, walaupun mungkin tidak bisa men-debug-nya. Bila Anda meluncurkan aplikasi yang bisa di-debug, proses itu akan dipilih secara default.

Android Profiler kini menampilkan tampilan timeline bersama (gambar 1), yang menyertakan sebuah timeline bersama grafik realtime untuk penggunaan CPU, memori, dan jaringan. Jendela tersebut juga menyertakan kontrol zoom untuk timeline 3, tombol untuk melompat maju ke realtime update 4, dan event timeline yang menampilkan keadaan aktivitas, event masukan pengguna, dan event rotasi layar 5.

Begitu Anda memulai Android Profiler, ia akan terus mengumpulkan data pembuatan profil hingga Anda memutuskan koneksi perangkat atau mengklik Close .

Gambar 1. Tampilan timeline bersama Android Profiler

Tampilan timeline bersama ini hanya menampilkan grafik timeline. Untuk mengakses alat pembuatan profil detail, klik grafik yang menyangkut data kinerja yang ingin Anda periksa. Misalnya, guna mengakses alat untuk memeriksa heap dan melacak alokasi memori, klik grafik MEMORY. Halaman yang ditautkan di bawah ini menyediakan informasi selengkapnya tentang setiap jendela profiler yang bersangkutan.

Akan tetapi, tidak semua data pembuatan profil terlihat secara default. Jika Anda melihat pesan yang mengatakan, "Advanced profiling is unavailable for the selected process," maka Anda perlu mengaktifkan pembuatan profil lanjutan dalam konfigurasi menjalankan.

Untuk dokumentasi selengkapnya tentang setiap alat pembuatan profil, lihat yang berikut ini:

Mengaktifkan pembuatan profil lanjutan

Untuk menampilkan data pembuatan profil lanjutan, Android Studio harus menyuntikkan logika pemantauan ke dalam aplikasi yang telah dikompilasi. Fitur yang disediakan oleh pembuatan profil lanjutan antara lain:

  • Event timeline pada semua jendela profiler
  • Jumlah objek yang dialokasikan dalam Memory Profiler
  • Event pengumpulan sampah dalam Memory Profiler
  • Detail tentang semua file yang dikirim dalam Network Profiler

Untuk mengaktifkan pembuatan profil lanjutan, ikuti langkah-langkah ini:

  1. Pilih Run > Edit Configurations.
  2. Pilih modul aplikasi Anda di panel kiri.
  3. Klik tab Profiling, kemudian centang Enable advanced profiling.

Kini, buatlah build dan jalankan lagi aplikasi Anda untuk mengakses set lengkap fitur pembuatan profil. Akan tetapi, ketahuilah bahwa pembuatan profil lanjutan akan memperlambat kecepatan build, sehingga Anda harus mengaktifkannya hanya bila Anda ingin memulai pembuatan profil aplikasi.

Catatan: Pembuatan profil lanjutan tidak tersedia untuk kode bawaan. Jika aplikasi Anda adalah aplikasi bawaan murni (tidak memiliki kelas Activity Java), fitur pembuatan profil lanjutan tidak akan tersedia. Jika aplikasi Anda menggunakan JNI, beberapa fitur pembuatan profil lanjutan akan tersedia, misalnya event timeline, GC event, objek yang dialokasikan Java, dan aktivitas jaringan berbasis Java, namun aplikasi tidak bisa mendeteksi alokasi berbasis bawaan dan aktivitas jaringan.