Jetpack Compose menghadirkan performa luar biasa secara langsung. Konfigurasikan aplikasi Anda menggunakan praktik terbaik untuk menghindari kesalahan umum dan mengoptimalkan performa aplikasi Compose.
Konsep utama
Berikut adalah beberapa konsep utama untuk performa di Compose:
- Fase: Memahami fase komposisi, tata letak, dan menggambar sangat penting untuk mengoptimalkan cara Compose mengupdate UI Anda.
- Profil Dasar Pengukuran: Profil ini mengompilasi kode penting terlebih dahulu, sehingga mempercepat peluncuran aplikasi dan interaksi yang lebih lancar.
- Stabilitas: Tingkatkan stabilitas aplikasi untuk melewati rekomposisi yang tidak perlu secara lebih efisien, sehingga meningkatkan performa.
Mengonfigurasi aplikasi Anda dengan benar
Jika aplikasi Anda berperforma buruk, mungkin ada masalah konfigurasi. Langkah pertama yang baik adalah memeriksa opsi konfigurasi berikut:
- Mem-build dalam Mode Rilis dengan R8: Coba jalankan aplikasi dalam mode rilis. Mode debug berguna untuk menemukan banyak masalah, tetapi hal ini menimbulkan biaya performa dan dapat menyulitkan untuk menemukan masalah lainnya. Anda juga harus mengaktifkan pengoptimalan dan penyingkatan dengan compiler R8 untuk memastikan build rilis yang berperforma baik dan efisien.
- Menggunakan Profil Dasar Pengukuran: Profil Dasar Pengukuran meningkatkan performa dengan mengompilasi kode untuk perjalanan penting pengguna. Compose menyertakan profil default, tetapi idealnya, Anda juga harus membuat profil khusus aplikasi. Pelajari lebih lanjut Profil Dasar Pengukuran dalam dokumen performa Android umum
Alat
Pahami rangkaian alat yang tersedia untuk membantu Anda mengukur dan menganalisis performa aplikasi Compose.
Praktik Terbaik
Saat mengembangkan aplikasi dengan Compose, ingatlah praktik terbaik berikut:
- Hindari penghitungan yang mahal: Gunakan
remember
untuk meng-cache hasil penghitungan yang mahal. - Bantu tata letak lambat: Menyediakan kunci stabil ke tata letak lambat menggunakan
parameter
key
untuk meminimalkan rekomposisi yang tidak perlu. - Membatasi rekomposisi yang tidak perlu: Gunakan
derivedStateOf
untuk membatasi rekomposisi saat mengubah status dengan cepat. - Tunda pembacaan status: Tunda pembacaan status selama mungkin dengan menggabungkannya ke dalam fungsi lambda.
- Gunakan pengubah lambda untuk mengubah status: Gunakan pengubah berbasis lambda seperti
Modifier.offset { ... }
untuk variabel status yang sering berubah. - Menghindari penulisan mundur: Jangan pernah menulis ke status yang telah dibaca dalam composable.
Untuk mengetahui detail selengkapnya, lihat panduan praktik terbaik.
Penayangan
Jika Anda menggunakan tampilan, bukan Compose, lihat panduan Meningkatkan performa tata letak khusus.
Referensi Tambahan
- Panduan performa aplikasi: Temukan praktik, library, dan alat terbaik untuk meningkatkan performa di Android.
- Memeriksa Performa: Memeriksa performa aplikasi.
- Tolok ukur: Menjalankan benchmark performa aplikasi.
- Startup aplikasi: Mengoptimalkan startup aplikasi.
- Profil dasar pengukuran: Memahami profil dasar pengukuran.