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, kodları çalışma zamanı performansını optimize edecek şekilde yeniden yazarak 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
  • Daha az duraksama
  • Daha az ANR

Uygulama optimizasyonunu etkinleştirmek için sürüm 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, uygulama optimizasyonunu yalnızca uygulamanızın yayınlamadan önce test ettiğiniz son sürümünde (genellikle yayın derlemeniz) etkinleştirmenizi öneririz. Bunun nedeni, optimizasyonların projenizin derleme süresini artırması ve kodu değiştirme şekli nedeniyle hata ayıklama işlemini zorlaştırabilmesidir.

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

            ...
        }
    }
}

Uygulama optimizasyonunu etkinleştirmenin, özellikle R8 sınıf veya yöntem adlarını yeniden adlandırıyorsa yığın izlemelerinin 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 da iyi bir başlangıç performansı için Başlangıç Profilleri oluşturmanız da gerekir.

Uygulama optimizasyonunu etkinleştirdiğinizde hata oluşursa bu hataları düzeltmek için aşağıdaki stratejilerden yararlanabilirsiniz: