Mengaktifkan pengoptimalan aplikasi

Untuk mendapatkan 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 terpakai, menulis ulang kode untuk mengoptimalkan performa runtime, dan banyak lagi. Bagi pengguna Anda, hal ini berarti:

  • Waktu mulai lebih cepat
  • Peningkatan performa rendering dan runtime
  • 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 dipublikasikan—biasanya build rilis—karena pengoptimalan meningkatkan waktu build project dan dapat mempersulit proses debug karena cara pengoptimalan memodifikasi 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')

            ...
        }
    }
}

Mengoptimalkan penyusutan resource untuk aplikasi yang lebih kecil

Plugin Android Gradle (AGP) versi 8.12.0 memperkenalkan penyingkatan resource yang dioptimalkan, yang bertujuan untuk mengintegrasikan pengoptimalan resource dan kode untuk membuat aplikasi yang lebih kecil dan lebih cepat.

Mengaktifkan penyingkatan resource yang dioptimalkan

Untuk mengaktifkan pipeline penyingkatan resource yang dioptimalkan baru untuk versi AGP sebelum 9.0.0, tambahkan kode berikut ke file gradle.properties project Anda:

android.r8.optimizedResourceShrinking=true

Jika Anda menggunakan AGP 9.0.0 atau versi yang lebih baru, Anda tidak perlu menyetel android.r8.optimizedResourceShrinking=true. Penyingkatan resource yang dioptimalkan diterapkan secara otomatis saat isShrinkResources = true diaktifkan dalam konfigurasi build Anda.

Memverifikasi dan mengonfigurasi setelan pengoptimalan R8

Untuk mengaktifkan R8 menggunakan kemampuan pengoptimalan penuhnya, hapus baris berikut dari file gradle.properties project Anda, jika ada:

android.enableR8.fullMode=false # Remove this line from your codebase.

Perhatikan bahwa mengaktifkan pengoptimalan aplikasi 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 mendapatkan performa startup yang lebih baik.

Jika Anda mengaktifkan pengoptimalan aplikasi dan menyebabkan error, berikut beberapa strategi untuk memperbaikinya: