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:
- Bazı kodların değiştirilmemesi için koruma kuralları ekleyin.
- Optimizasyonları kademeli olarak uygulama
- Kodunuzu optimizasyona daha uygun kitaplıkları kullanacak şekilde güncelleyin.