Activer l'optimisation de l'application

Pour une meilleure expérience utilisateur, vous devez optimiser votre application pour qu'elle soit aussi compacte 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 :

  • Un démarrage plus rapide
  • Une 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 build au niveau de l'application de votre build, comme indiqué dans le code suivant. Nous vous recommandons d'activer systématiquement les deux paramètres. Nous vous recommandons également d'activer l'optimisation de l'application uniquement dans la version finale de l’application que vous testez avant la publication (généralement votre build), car les optimisations augmentent la durée de la compilation de votre projet et peuvent compliquer le débogage 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 compactes

La version 8.12.0 du plug-in Android Gradle (AGP) introduit la réduction optimisée des ressources, qui vise à intégrer l'optimisation des ressources et du code pour créer des applications encore plus compactes et plus rapides.

Activer la réduction optimisée des ressources

Pour activer le nouveau pipeline de réduction optimisée des ressources 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 compilation.

Vérifier et configurer les paramètres d'optimisation R8

Pour permettre à R8 d'utiliser ses capacités d'optimisation complètes, supprimez la ligne suivante du fichier gradle.properties de votre projet, le cas échéant :

android.enableR8.fullMode=false # Remove this line from your codebase.

Notez que l'activation de l'optimisation de l'application complique la compréhension des traces de pile, en particulier si R8 renomme les noms de classes ou de méthodes. Pour obtenir des traces de pile qui correspondent à 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 :

Si vous souhaitez optimiser votre vitesse de compilation, consultez Configurer l'exécution de R8 pour savoir comment configurer R8 en fonction de votre environnement.