Performa di Wear OS adalah pertimbangan aplikasi penting karena banyak perangkat Wear OS memiliki resource CPU dan GPU yang terbatas dibandingkan dengan perangkat seluler yang lebih besar. Dengan diperkenalkannya animasi yang lebih kaya dan efek dinamis di Material 3 Expressive, Anda harus memvalidasi dan meningkatkan performa alur kerja utama aplikasi Anda.
Gunakan panduan Performa Jetpack Compose untuk mengonfigurasi dan mengembangkan aplikasi Anda guna mendapatkan performa optimal menggunakan Jetpack Compose. Dokumen ini menyoroti beberapa teknik yang dijelaskan di sana.
Selain itu, buat dan ikuti strategi pengukuran performa untuk memvalidasi bahwa teknik dalam dokumen ini berfungsi seperti yang diharapkan untuk aplikasi Anda.
Teknik peningkatan performa penting
Mulai dengan jenis alat performa yang paling berdampak: profil dasar pengukuran (termasuk profil startup) dan pengoptimal kode R8.
Sebelum memulai, sebaiknya update dependensi Compose ke setidaknya versi 1.8, yang memperkenalkan beberapa fitur baru yang signifikan dan meningkatkan stabilitas library secara keseluruhan. Lihat petunjuk di Mendeklarasikan dependensi untuk mempelajari cara memperbarui, dan untuk mempelajari lebih lanjut, baca blog tentang rilis 1.8 dan Apa yang Baru di Compose dalam sesi I/O.
Profil dasar pengukuran
Gunakan profil dasar pengukuran untuk meningkatkan performa aplikasi Anda. Kelompokkan class dan metode yang merepresentasikan alur kerja utama aplikasi Anda, yang dapat dikompilasi sebelumnya oleh sistem menggunakan profil dasar. Hal ini dapat mengurangi waktu mulai, mengurangi frame yang mengalami jank, dan menawarkan peningkatan performa tambahan.
Setiap library Jetpack Compose dilengkapi aturan profilnya sendiri. Jika aplikasi Anda bergantung pada library, aturan profil library akan otomatis digabungkan dan didistribusikan dengan APK aplikasi untuk pra-kompilasi.
Verifikasi profil dasar Anda menggunakan teknik berikut:
- Menggunakan pengujian macrobenchmark.
- Manfaatkan perintah ADB tertentu untuk memvalidasi status konfigurasi profil aplikasi Anda.
Langkah-langkah untuk kedua teknik ini dijelaskan dalam panduan pengukuran dan validasi performa.
Profil Startup
Sebagai subset profil dasar pengukuran, Profil Startup mengoptimalkan lebih lanjut class dan metode yang dikandungnya untuk mengurangi latensi startup aplikasi.
Menambahkan profil startup akan meningkatkan ukuran APK aplikasi Anda, jadi sebelum menambahkannya ke rilis produksi, pastikan untuk menilai kompromi antara ukuran APK dan latensi startup.
Setelah Anda merasa nyaman dengan penyiapan profil dasar pengukuran, baca artikel Membuat Profil Startup untuk memulai.
R8
Gunakan compiler R8 untuk menyusutkan dan mengoptimalkan aplikasi. R8 menghapus kode dan resource yang tidak digunakan, menulis ulang kode untuk mengoptimalkan performa runtime, dan banyak lagi.
Dalam panduan tentang cara meningkatkan performa - Ringkasan, tinjau pertimbangan untuk R8, termasuk langkah-langkah utama untuk menghapus resource yang tidak digunakan.
Pengukuran dan Validasi Performa
Untuk mempelajari strategi pengukuran performa umum di Android, lihat Ringkasan pengukuran performa aplikasi. Bagian ini berisi beberapa teknik yang dibahas dalam dokumentasi tersebut.
Memilih varian build untuk pengukuran
Meskipun mode debug berguna untuk menemukan banyak masalah, mode ini menimbulkan biaya performa yang signifikan, tidak menggunakan profil dasar pengukuran, dan dapat menyulitkan untuk mendeteksi masalah kode yang mungkin menurunkan performa.
Untuk memahami performa aplikasi secara akurat, jalankan aplikasi dalam mode rilis.
Anda hanya boleh menarik kesimpulan akhir tentang performa menggunakan pengujian yang dilakukan dengan aplikasi yang berjalan dengan opsi build rilis, dan di perangkat sungguhan.
Namun, saat pengujian benchmark, gunakan varian build benchmark, yang memiliki beberapa perbedaan utama dengan pen-debug-an rilis. Lihat panduan penyiapan Macrobenchmark untuk mengetahui detailnya.
Memvalidasi profil dasar pengukuran aplikasi Anda
Mulailah dengan memeriksa status profil Anda:
adb shell dumpsys package dexopt | grep -A 1 $PACKAGE_NAME
Jika statusnya bukan status=speed-profile
, aturan profil belum
diterapkan untuk mengoptimalkan aplikasi.
Aturan diterapkan menggunakan tugas latar belakang yang berjalan saat perangkat diisi daya dan tidak ada aktivitas. Anda dapat memicunya secara manual dengan menjalankan perintah berikut setelah aplikasi diluncurkan dan ada cukup waktu untuk mengizinkan penginstal profil melakukan bootstrap profil di latar belakang. Proses ini biasanya memerlukan waktu sekitar 40 detik.
adb shell cmd package bg-dexopt-job
Selanjutnya, Anda dapat menjalankan kembali perintah sebelumnya untuk memastikan statusnya sekarang adalah
speed-profile
.
Untuk mengetahui kapan pengoptimalan dilakukan saat penginstalan, lihat Melakukan sideload profil dasar pengukuran.
UI Automator API
Gunakan UI Automator API untuk mengukur performa bagian UI yang berbeda-beda saat memeriksa perjalanan pengguna untuk mengidentifikasi potensi pengoptimalan.
Alat ini berfungsi dengan mengotomatiskan interaksi UI secara terprogram.
Pengujian Macrobenchmark
Macrobenchmark menguji kasus penggunaan aplikasi Anda yang lebih besar, terutama startup aplikasi dan manipulasi UI yang kompleks. Lihat panduan penerapan untuk memulai.
Untuk contoh penggunaan macrobenchmark guna memvalidasi performa Profil dasar, lihat contoh performa di GitHub.
Library JankStats
Gunakan library JankStats untuk melacak dan menganalisis masalah performa di aplikasi.
Sebagai contoh, lihat contoh JankStats di GitHub.
System Trace
Dengan jenis animasi baru yang diperkenalkan oleh Material 3 Expressive, Anda dapat menggunakan fitur Pelacakan Sistem di Android Studio untuk memeriksa dan mendiagnosis latensi dalam perjalanan pengguna yang berpotensi bermasalah. Dengan informasi ini, Anda dapat memverifikasi konten profil dasar, dan memeriksa logika kode untuk mencari tempat yang berpotensi tidak efisien.
Alat tambahan
Selain alat peningkatan performa, ada alat lain yang dapat digunakan developer untuk meningkatkan produktivitas dan alur kerja mereka.
Alat Produktivitas Android Studio
Android Studio menyediakan beberapa alat yang dapat mengurangi waktu yang Anda habiskan untuk mencari cara meningkatkan performa.
Misalnya, dengan menggunakan alat seperti Edit Langsung dan Pratinjau Composable, Anda dapat mengidentifikasi UI yang tidak lancar, beserta area terkait dalam kode aplikasi Anda, untuk peningkatan performa.
Jalankan semua pengujian performa akhir pada serangkaian perangkat Wear OS fisik yang secara akurat merepresentasikan basis pengguna target Anda.
Hal ini sangat penting saat bermigrasi ke Material 3 Expressive, yang memperkenalkan fitur seperti font fleksibel dan pengubahan bentuk ke aplikasi Anda.
Jika Anda melakukan migrasi dari tampilan, lihat panduan migrasi dan praktik terbaik untuk performa Jetpack Compose kami untuk memverifikasi bahwa UI aplikasi Anda berperforma baik saat menggunakan Jetpack Compose.
Referensi lainnya
Untuk terus mendapatkan info terbaru tentang performa Android, lihat Berita dan video terbaru di panduan Performa aplikasi.