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 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 dalam panduan tersebut.

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

Teknik peningkatan performa penting

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

Perbarui 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 di Mendeklarasikan dependensi untuk mempelajari cara mengupdate. Untuk mempelajari lebih lanjut, baca blog kami tentang rilis 1.8 dan Apa yang Baru di Compose dalam sesi I/O.

Profil dasar pengukuran

Untuk meningkatkan performa aplikasi, gunakan profil dasar pengukuran. Kelompokkan class dan metode yang merepresentasikan alur kerja utama aplikasi Anda, yang dapat dikompilasi sebelumnya oleh sistem menggunakan profil dasar pengukuran. 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.
  • 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 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.

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 Meningkatkan performa - Ringkasan, baca 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 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 bagi penginstal profil untuk 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 memverifikasi bahwa statusnya adalah speed-profile.

Untuk situasi saat pengoptimalan terjadi saat penginstalan, lihat Melakukan sideload profil dasar pengukuran.

UI Automator API

UI Automator API mengotomatiskan interaksi secara terprogram. Gunakan API ini untuk mengukur performa bagian UI yang berbeda-beda saat memeriksa perjalanan pengguna untuk mengidentifikasi 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 Expressive, gunakan fitur System Trace 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 waktu yang Anda habiskan untuk mengidentifikasi peningkatan performa.

Misalnya, dengan menggunakan alat seperti Edit Live dan Pratinjau Composable, Anda dapat mengidentifikasi elemen 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.