Pengujian performa

Performa runtime aplikasi dapat dibagi menjadi pengujian lokal dan pengujian lapangan. Perlu diingat bahwa kedua area ini memberikan hasil dan metrik yang berbeda. Selama hasilnya sendiri meyakinkan, perbedaan tersebut dapat diterima.

Pengujian lapangan

Pengujian lapangan membantu Anda memahami performa aplikasi dengan pengguna sebenarnya dalam kondisi sebenarnya. Ini adalah area penting dan membantu memahami performa aplikasi di lapangan. Anda dapat menggunakan alat seperti Google Play Vitals dan Firebase Performance Monitoring untuk mendapatkan metrik kolom dari pengguna.

Anda dapat menggunakan library Pelacakan AndroidX untuk menambahkan titik rekaman aktivitas yang memberikan lebih banyak konteks dan insight pada metrik kolom.

Anda juga dapat menggunakan ApplicationStartInfo dan ApplicationExitInfo untuk mendapatkan informasi lebih mendetail tentang waktu mulai dan keluarnya aplikasi dari pengguna.

Library AndroidX JankStats memungkinkan penggabungan dan pelaporan frame yang lambat dan menurun untuk analisis lebih lanjut.

Pengujian lokal

Untuk menguji performa runtime aplikasi secara lokal, kami menyediakan library benchmark. Library ini dibagi menjadi library macrobenchmark, yang dapat digunakan untuk menguji performa seluruh alur penggunaan dan library microbenchmark, yang digunakan untuk menganalisis performa hot loop aplikasi atau library.

Semua pengujian performa harus dijalankan di perangkat fisik. Ini adalah satu-satunya cara untuk memastikan bahwa performa yang Anda ukur adalah performa sebenarnya yang terjadi di perangkat. Pengujian performa runtime akan menghasilkan hasil yang berbeda bergantung pada perangkat tempatnya berjalan dan seberapa sibuk perangkat tersebut.

Performa aplikasi dapat mengalami regresi. Untuk menghindari regresi, penting untuk sering menjalankan pengujian performa. Dalam skenario ideal, aplikasi diukur setiap kali fitur baru ditambahkan atau kode digabungkan ke cabang utama. Pemantauan performa minimum adalah untuk membuat benchmark kandidat rilis dan memverifikasi bahwa waktu startup dan waktu render frame tidak mengalami regresi untuk perjalanan utama pengguna. Sebaiknya jalankan benchmark jika memungkinkan, seperti sebelum menggabungkan fitur ke cabang utama atau untuk build harian.

Menggunakan hasil

Pengujian performa adalah proses yang berkelanjutan. Sebaiknya simpan hasil pengujian performa sedemikian rupa sehingga dapat dibandingkan dari waktu ke waktu.

Anda dapat menggunakan hasil uji performa dengan beberapa cara.

  • Peningkatan performa - Menggunakan hasil pengukuran untuk memprioritaskan peningkatan performa
  • Pencegahan regresi - Memastikan tidak ada regresi performa dengan rilis baru
  • Pemantauan produksi - Memahami apakah ada masalah yang tidak Anda lihat selama pengembangan

Untuk mempelajari pengujian performa runtime Android lebih lanjut, lihat panduan performa aplikasi.