2.7 KiB
2.7 KiB
Minifier et optimiser le code
Identifiants
// TODO
Catégories
Cycle de vie | Tiers | Responsable |
---|---|---|
4. Production | Utilisateur/Terminal | Développeur/Développeuse |
Indications
Degré de priorité | Mise en oeuvre | Impact écologique |
---|---|---|
4 | 3 | 4 |
Ressources Economisées |
---|
Processeur / Mémoire vive / Stockage |
Description
Utiliser un outil de minification et d'optimisation de code permet de réduire considérable la taille de l'application. Sur android, cet outil se décompose en quatre processus : -La minification, qui consiste à supprimer les espaces inutiles, les commentaires, les sauts de ligne, les délimiteurs de blocs et ainsi réduire la taille de l'application finale.
- La suppression des ressources non utilisées dans notre code mais également dans les bibliothèques tierces incluses dans notre projet, par exemple si notre code n'utilise qu'une petite partie de celles-ci.
- L'obfuscation. Ce processus réduit le nom des classes et de ses membres, augmentant la sécurité et réduisant par la même occasion la taille des fichiers. Par exemple la classe :
com.monpackage.MaClass
devient une fois compilée :a.a.B
- L'optimisation. Ce processus inspecte et optimize le code pour supprimer le code qui n'est jamais exécutée. Par exemple il peut détecter que la branche
else
d'une condition n'est jamais empruntée, et donc la supprimer du code compilé.
Pour activer et configurer ces processus, il faut activer les paramètres isShrinkResources
et isMinfyEnabled
dans le fichier Gradle de l'application, dans les paramètres du build qui sera déployé. Au-delà de ses paramètres, il faut ensuite spécifier les processus qui doivent s'appliquer et sur quelles classes dans le fichier proguard-rules.pro
du projet.
Exemple
android {
buildTypes {
getByName("release") {
// Enables code shrinking, obfuscation, and optimization for the release build type
isMinifyEnabled = true
// Enables resource shrinking, which is performed by the Android Gradle plugin.
isShrinkResources = true
// Includes the default ProGuard rules files
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
}
...
}
Principe de validation
Le nombre ... | est inférieur ou égal à |
---|---|
de fichiers non minifiés/optimisés | 25 |