Untuk pengalaman pengguna terbaik, Anda harus mengoptimalkan aplikasi agar sekecil dan secepat mungkin. Pengoptimal aplikasi kami, yang disebut R8, menyederhanakan aplikasi Anda dengan menghapus kode dan resource yang tidak digunakan, menulis ulang kode untuk mengoptimalkan performa runtime, dan lainnya. Bagi pengguna Anda, hal ini berarti:
- Waktu mulai lebih cepat
- Lebih sedikit jank
- Lebih sedikit ANR
Untuk mengaktifkan pengoptimalan aplikasi, tetapkan isMinifyEnabled = true
(untuk pengoptimalan kode)
dan isShrinkResources = true
(untuk pengoptimalan resource) dalam skrip build tingkat aplikasi build
rilis seperti yang ditunjukkan dalam kode berikut. Sebaiknya
Anda selalu mengaktifkan kedua setelan tersebut. Sebaiknya aktifkan pengoptimalan
aplikasi hanya di versi akhir aplikasi yang Anda uji sebelum
memublikasikan—biasanya build rilis—karena pengoptimalan meningkatkan
waktu build project dan dapat mempersulit proses debug karena cara
mengubah kode.
Kotlin
android { buildTypes { release { // Enables code-related app optimization. isMinifyEnabled = true // Enables resource shrinking. isShrinkResources = true proguardFiles( // Default file with automatically generated optimization rules. getDefaultProguardFile("proguard-android-optimize.txt"), ... ) ... } } ... }
Groovy
android { buildTypes { release { // Enables code-related app optimization. minifyEnabled true // Enables resource shrinking. shrinkResources true // Default file with automatically generated optimization rules. proguardFiles getDefaultProguardFile('proguard-android-optimize.txt') ... } } }
Perhatikan bahwa mengaktifkan pengoptimalan aplikasi akan membuat pelacakan tumpukan sulit dipahami, terutama jika R8 mengganti nama class atau metode. Untuk mendapatkan pelacakan tumpukan yang sesuai dengan kode sumber Anda, lihat Memulihkan pelacakan tumpukan asli.
Jika R8 diaktifkan, Anda juga harus membuat Profil Startup untuk performa startup yang lebih baik.
Jika Anda mengaktifkan pengoptimalan aplikasi dan hal itu menyebabkan error, berikut beberapa strategi untuk memperbaikinya:
- Menambahkan aturan simpan untuk menjaga agar beberapa kode tidak tersentuh.
- Terapkan pengoptimalan secara bertahap.
- Perbarui kode Anda untuk menggunakan library yang lebih cocok untuk pengoptimalan.