Pour offrir la meilleure expérience utilisateur possible, vous devez optimiser votre application pour qu'elle soit aussi petite et rapide que possible. Notre outil d'optimisation d'applications, appelé R8, simplifie votre application en supprimant le code et les ressources inutilisés, en réécrivant le code pour optimiser les performances d'exécution, et plus encore. Pour vos utilisateurs, cela signifie :
- accélérer le démarrage ;
- Amélioration des performances de rendu et d'exécution
- Moins d'erreurs ANR
Pour activer l'optimisation de l'application, définissez isMinifyEnabled = true
(pour l'optimisation du code) et isShrinkResources = true
(pour l'optimisation des ressources) dans le script de compilation au niveau de l'application de votre compilation de version, comme indiqué dans le code suivant. Nous vous recommandons de toujours activer les deux paramètres. Nous vous recommandons également d'activer l'optimisation de l'application uniquement dans la version finale de votre application que vous testez avant la publication (généralement votre build de version), car les optimisations augmentent le temps de compilation de votre projet et peuvent rendre le débogage plus difficile en raison de la façon dont elles modifient le code.
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') ... } } }
Optimiser la réduction des ressources pour des applications encore plus petites
La version 8.12.0 du plug-in Android Gradle (AGP) introduit la minification optimisée des ressources, qui vise à intégrer l'optimisation des ressources et du code pour créer des applications encore plus petites et plus rapides.
Activer la minification optimisée des ressources
Pour activer le nouveau pipeline de minification des ressources optimisé pour une version d'AGP antérieure à 9.0.0, ajoutez le code suivant au fichier gradle.properties
de votre projet :
android.r8.optimizedResourceShrinking=true
Si vous utilisez AGP 9.0.0 ou une version ultérieure, vous n'avez pas besoin de définir android.r8.optimizedResourceShrinking=true
. La réduction optimisée des ressources est automatiquement appliquée lorsque isShrinkResources = true
est activé dans la configuration de votre build.
Vérifier et configurer les paramètres d'optimisation R8
Pour permettre à R8 d'utiliser toutes ses capacités d'optimisation, supprimez la ligne suivante du fichier gradle.properties
de votre projet, si elle existe :
android.enableR8.fullMode=false # Remove this line from your codebase.
Notez que l'activation de l'optimisation de l'application rend les traces de pile difficiles à comprendre, en particulier si R8 renomme les noms de classes ou de méthodes. Pour obtenir des traces de pile qui correspondent correctement à votre code source, consultez Récupérer la trace de pile d'origine.
Si R8 est activé, vous devez également créer des profils de démarrage pour améliorer encore les performances de démarrage.
Si vous activez l'optimisation des applications et que cela entraîne des erreurs, voici quelques stratégies pour les résoudre :
- Ajoutez des règles de conservation pour que certains codes restent intacts.
- Adoptez les optimisations de manière incrémentielle.
- Mettez à jour votre code pour utiliser des bibliothèques mieux adaptées à l'optimisation.