Performa Jetpack Compose di Wear OS

Performa di Wear OS adalah pertimbangan penting untuk aplikasi karena banyak perangkat Wear OS memiliki resource CPU dan GPU yang terbatas dibandingkan dengan perangkat seluler yang lebih besar. Dengan diperkenalkannya animasi yang lebih beragam dan efek dinamis di Material 3 Ekspresif, Anda harus memvalidasi dan meningkatkan performa alur kerja utama aplikasi Anda.

Gunakan panduan Performa Jetpack Compose untuk mengonfigurasi dan mengembangkan aplikasi Anda agar mendapatkan performa optimal menggunakan Jetpack Compose. Dokumen ini menyoroti beberapa teknik yang dijelaskan dalam panduan tersebut.

Buat dan ikuti strategi pengukuran performa untuk memvalidasi bahwa teknik ini berfungsi seperti yang diharapkan untuk aplikasi Anda.

Teknik peningkatan performa yang penting

Mulailah dengan jenis alat performa yang paling efektif: profil dasar pengukuran (termasuk profil startup) dan pengoptimal kode R8.

Update dependensi Compose Anda ke versi 1.8 atau yang lebih tinggi, yang memperkenalkan beberapa fitur baru yang signifikan dan meningkatkan stabilitas library secara keseluruhan. Lihat petunjuk dalam Mendeklarasikan dependensi untuk mempelajari cara mengupdate. Untuk mempelajari lebih lanjut, baca blog kami tentang rilis 1.8 dan pembahasan I/O Yang Baru di Compose.

Profil dasar pengukuran

Untuk meningkatkan performa aplikasi, gunakan profil dasar pengukuran. Kelompokkan class dan metode yang mewakili alur kerja utama aplikasi Anda, yang dapat dikompilasi sebelumnya oleh sistem menggunakan profil dasar pengukuran. Hal ini dapat mengurangi waktu startup, 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 prakompilasi.

Verifikasi profil dasar pengukuran Anda menggunakan teknik berikut:

  • Menggunakan pengujian macrobenchmark.
  • Gunakan 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 lebih mengoptimalkan class dan metode yang ada di dalamnya untuk mengurangi latensi startup aplikasi.

Menambahkan profil startup akan meningkatkan ukuran APK aplikasi Anda, jadi sebelum menambahkannya ke rilis produksi, pastikan untuk menilai konsekuensi antara ukuran APK dan latensi startup.

Untuk memulai, baca Membuat Profil Startup.

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 Ringkasan peningkatan performa, baca pertimbangan untuk R8, termasuk langkah-langkah penting 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 menjelaskan 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 memengaruhi performa.

Untuk memahami performa aplikasi secara akurat, jalankan aplikasi dalam mode rilis.

Tarik kesimpulan akhir tentang performa hanya dari 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 dari proses debug 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. Untuk memicunya secara manual, jalankan perintah berikut setelah aplikasi diluncurkan dan ada cukup waktu untuk penginstal profil melakukan bootstrap profil di latar belakang. Proses ini biasanya memerlukan waktu sekitar 40 detik.

adb shell cmd package bg-dexopt-job

Kemudian, jalankan kembali perintah sebelumnya untuk memastikan bahwa statusnya adalah speed-profile.

Untuk mengetahui kapan pengoptimalan dilakukan saat penginstalan, lihat Melakukan sideload profil dasar pengukuran.

UI Automator API

UI Automator API mengotomatiskan interaksi secara terprogram. Gunakan API ini untuk mengukur bagian UI yang terpisah saat memeriksa perjalanan pengguna untuk potensi pengoptimalan.

Pengujian Macrobenchmark

Macrobenchmark menguji kasus penggunaan aplikasi Anda yang lebih besar, terutama startup aplikasi dan manipulasi UI yang kompleks. Untuk memulai, lihat panduan penerapan.

Untuk contoh penggunaan macrobenchmark guna memvalidasi performa profil dasar pengukuran, 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 Ekspresif, gunakan fitur Pelacakan Sistem di Android Studio untuk memeriksa dan mendiagnosis latensi dalam perjalanan pengguna yang berpotensi bermasalah. Dengan informasi ini, verifikasi konten profil dasar pengukuran Anda, dan identifikasi potensi inefisiensi dalam logika kode Anda.

Alat tambahan

Selain alat peningkatan performa, Anda dapat menggunakan alat lain untuk meningkatkan produktivitas dan alur kerja.

Alat Produktivitas Android Studio

Android Studio menyediakan beberapa alat yang dapat mengurangi jumlah waktu yang Anda habiskan untuk mengidentifikasi peningkatan performa.

Misalnya, menggunakan alat seperti Edit Live dan Pratinjau Composable, Anda dapat mengidentifikasi elemen UI yang tersendat, beserta area terkait dalam kode aplikasi, untuk peningkatan performa.

Jalankan semua pengujian performa akhir pada rangkaian perangkat Wear OS fisik yang secara akurat mewakili basis pengguna target Anda.

Hal ini sangat penting saat bermigrasi ke Material 3 Ekspresif, yang memperkenalkan fitur seperti font fleksibel dan perubahan bentuk ke aplikasi Anda.

Jika Anda bermigrasi dari tampilan, lihat panduan migrasi dan praktik terbaik untuk performa Jetpack Compose guna memverifikasi bahwa UI aplikasi Anda berperforma baik saat menggunakan Jetpack Compose.

Referensi lainnya

Agar selalu mendapatkan info terbaru tentang performa Android, lihat Berita dan video terbaru di Panduan performa aplikasi.