Küçük uygulama boyutu, özellikle aşağıdakiler gibi durumlarda, indirme başarısıyla doğrudan ilişkilidir: Ağ cihaz bağlantısı zayıf veya düşük olan, gelişmekte olan pazarlar hızları. Bu da uygulama kullanım oranlarının düşmesine ve dolayısıyla da kullanım oranlarının düşmesine kapsamı ve erişimidir. Ancak, birçok konuda yardımcı olabilir uygulamanızın boyutunu küçültmek.
En iyi uygulamalar
Uygulamayı Android App Bundle olarak yükleyin
Google'da yayınlarken uygulama boyutundan anında tasarruf etmenin en kolay yolu Play, uygulamanızı Android App Bundle olarak yüklemektir. Bu, uygulamanızın tüm derlenmiş kodlarını ve diğer bilgilerini içeren yeni bir yayınlama biçimidir. kaynaklar ve APK oluşturma ve Google Play'de oturum açma işlemlerini erteler.
Çalışma zamanı kodu boyutunu küçültme
Uygulamanızın çalışma zamanında kullanmadığı kodları (ör. büyük boyutlu otomatik oluşturulan kodu kullanabilirsiniz. Örneğin, R8, kod boyutunu optimize edip küçültmeye yardımcı olabilir, ancak çalışma zamanı sabit değerleri tarafından korunan kodla başlayamaz. Çeki değiştirin çeşitli optimizasyonlardan en iyi şekilde yararlanmak için derleme süresi sabitlerine sahip işaretler araçlar. Gradle yapılandırma dosyanızda kod ve kaynak küçültmeyi etkinleştirebilirsiniz:
android {
buildTypes {
getByName("release") {
isMinifyEnabled = true
isShrinkResources = true
}
}
}
Gereksiz düzenleri kaldırın
Kullanılmayan düzenleri kullanıcı arayüzünde küçük değişiklikler yaparak birleştirin ve gereksiz olanları kaldırın düzenler. Ayrıca, oluşturduğunuz düzenler ve görünümleri oluşturun. Bu şekilde statik bir resim çizilmesini önleyebilirsiniz. şablonları kullanabilir ve teknik ek yük olmadan alternatif düzenler uygulayabilirsiniz.
Sık kullanılmayan özellikleri yeniden değerlendirin
Aşağıdaki özellikleri devre dışı bırakarak Android (Go sürümü) için özel olarak optimize et düşük günlük etkin kullanıcı (GEKS) metriklerine sahiptir. Bu tür içerikler arasında büyük GIF dosyaları gibi karmaşık animasyonlar veya büyük GIF dosyaları gibi gerekli olduğunu unutmayın.
Dynamic Delivery'yi kullanma
Play Feature Delivery, gelişmiş özellikleri uygulamanızın belirli özelliklerinin kullanılabilmesini sağlayan koşullu olarak teslim edilir veya isteğe bağlı olarak indirilir. Özellik modüllerini sipariş edebilirsiniz. Özellik modüllerinin benzersiz bir avantajı, uygulamanızın farklı özelliklerinin nasıl ve ne zaman indirileceğini özelleştirin Android 5.0 (API düzeyi 21) veya sonraki sürümleri çalıştıran cihazlar.
Çevrilebilir dize boyutunu küçültün
Kaldırmak için Android Gradle resConfigs
özelliğini kullanabilirsiniz
ihtiyaç duymadığı alternatif kaynak dosyalarıdır. Bir
dil kaynakları (ör. AppCompat veya Google Play) içeren kitaplık
hizmetler) içeriyorsa uygulamanız, kitaplık için çevrilmiş tüm dil dizelerini içerir.
mesajları iletmenize yardımcı olur. Yalnızca
uygulamanızın resmi olarak desteklediği diller varsa bu dilleri belirtebilirsiniz.
resConfig
özelliğini kullanabilirsiniz. Belirtilmeyen diller için kaynaklar:
emin olun.
Dil kaynaklarınızı yalnızca İngilizce ve Fransızcayla sınırlamak için şunları düzenleyebilirsiniz:
Aşağıda gösterildiği gibi defaultConfig
:
android {
defaultConfig {
...
resConfigs "en", "fr"
}
}
Seçimli çeviri kullan
Belirli bir dize uygulamanın kullanıcı arayüzünde görünmüyorsa çevireceğim. Hata ayıklama amacıyla kullanılacak dizeler, istisna mesajları, veya URL'ler kaynakta değil, kodda dize değişmez değerleri olmalıdır.
Örneğin, URL'leri çevirmeniz gerekmez.
<string name="car_frx_device_incompatible_sol_message">
This device doesn\'t support Android Auto.\n
<a href="https://support.google.com/androidauto/answer/6395843">Learn more</a>
</string>
Bunlar, kullanıcı adları için kaçış karakterleri olduğu için <
ve >
öğelerini tanıyor olabilirsiniz
<
ve >
. Burada gereklidir çünkü içine bir <a>
etiketi yerleştirecek olsaydınız
bir <string>
etiketi tanımlaması halinde, Android kaynak derleyicisi
etiketi tanımıyordur. Ancak bu, kullandığınız HTML kodunu çevirdiğiniz
etiketleri ve URL'yi 78 dile getirmiştir. Bunun yerine HTML'yi kaldırabilirsiniz:
<string name="car_frx_device_incompatible_sol_message">
This device doesn\'t support Android Auto.
</string>
Yerel ikili programları yaygın bağımlılıklarla birleştirme
Uygulamanızda farklı Java Native Interface (JNI) uygulamaları varsa temel bağımlılıklar içeren bir programı temsil ettiğini gördük. Bu durumda, yedekli bileşenlerle APK boyutunu. Birkaç JNI ikili programını birleştirebilir, tek bir JNI ikili dosyasına kaydederken, Java ve JNI dosyalarını ayrı tutar. Bu durum, APK'nızın boyutunu önemli ölçüde küçültebilir.