Uygulama optimizasyonunu etkinleştirme

En iyi kullanıcı deneyimi için uygulamanızı mümkün olduğunca küçük ve hızlı olacak şekilde optimize etmeniz gerekir. R8 adlı uygulama optimizasyon aracımız, kullanılmayan kodları ve kaynakları kaldırarak, kodu yeniden yazarak çalışma zamanı performansını optimize ederek ve daha birçok işlem yaparak uygulamanızı kolaylaştırır. Bu durum, kullanıcılarınız için şu anlama gelir:

  • Daha kısa başlatma süresi
  • İyileştirilmiş oluşturma ve çalışma zamanı performansı
  • Daha az ANR

Uygulama optimizasyonunu etkinleştirmek için yayın derlemenizin uygulama düzeyindeki derleme komut dosyasında isMinifyEnabled = true (kod optimizasyonu için) ve isShrinkResources = true (kaynak optimizasyonu için) değerlerini aşağıdaki kodda gösterildiği gibi ayarlayın. Her iki ayarı da her zaman etkinleştirmenizi öneririz. Ayrıca, optimizasyonlar projenizin derleme süresini artırdığı ve kodu değiştirme şekli nedeniyle hata ayıklamayı zorlaştırabileceği için uygulama optimizasyonunu yalnızca yayınlamadan önce test ettiğiniz uygulamanızın son sürümünde (genellikle yayın derlemeniz) etkinleştirmenizi öneririz.

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')

            ...
        }
    }
}

Daha da küçük uygulamalar için kaynak küçültmeyi optimize etme

Android Gradle eklentisinin (AGP) 8.12.0 sürümünde, kaynak ve kod optimizasyonunu entegre ederek daha küçük ve daha hızlı uygulamalar oluşturmayı amaçlayan optimize edilmiş kaynak küçültme özelliği kullanıma sunuluyor.

Optimize edilmiş kaynak küçültmeyi etkinleştirme

AGP'nin 9.0.0'dan önceki bir sürümünde yeni optimize edilmiş kaynak küçültme işlem hattını etkinleştirmek için projenizin gradle.properties dosyasına aşağıdakileri ekleyin:

android.r8.optimizedResourceShrinking=true

AGP 9.0.0 veya daha yeni bir sürüm kullanıyorsanız android.r8.optimizedResourceShrinking=true'ı ayarlamanız gerekmez. Optimize edilmiş kaynak küçültme, derleme yapılandırmanızda isShrinkResources = true etkinleştirildiğinde otomatik olarak uygulanır.

R8 optimizasyon ayarlarını doğrulama ve yapılandırma

R8'in tam optimizasyon özelliklerini kullanabilmesi için projenizin gradle.properties dosyasında varsa aşağıdaki satırı kaldırın:

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

Uygulama optimizasyonunun etkinleştirilmesinin, özellikle R8 sınıf veya yöntem adlarını yeniden adlandırırsa yığın izlerinin anlaşılmasını zorlaştırdığını unutmayın. Kaynak kodunuzla doğru şekilde eşleşen yığın izlemeleri almak için Orijinal yığın izlemeyi kurtarma başlıklı makaleyi inceleyin.

R8 etkinse daha iyi başlangıç performansı için başlangıç profilleri de oluşturmalısınız.

Uygulama optimizasyonunu etkinleştirirseniz ve bu durum hatalara neden olursa hataları düzeltmek için uygulayabileceğiniz bazı stratejiler şunlardır: