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) öğelerini 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') ... } } }
Ayrıca, R8'in tam optimizasyon özelliklerini kullandığını doğrulamak için projenizin gradle.properties
dosyasında varsa bu satırı kaldırın:
android.enableR8.fullMode=false # Remove this line from your codebase.
Uygulama optimizasyonunun etkinleştirilmesi, özellikle R8 sınıf veya yöntem adlarını yeniden adlandırırsa yığın izlerinin anlaşılmasını zorlaştırır. 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.