Activer l'optimisation de l'application

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). En effet, 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')

            ...
        }
    }
}

Vérifiez également que R8 utilise toutes ses capacités d'optimisation en supprimant cette ligne 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 :