Que signifie «zipalign» et quelle est sa signification?
Quand une ROM prétend être «zipalignée», qu'est-ce que cela signifie et quelle est la différence avec une ROM qui n'est pas «zipalignée»?
la source
Que signifie «zipalign» et quelle est sa signification?
Quand une ROM prétend être «zipalignée», qu'est-ce que cela signifie et quelle est la différence avec une ROM qui n'est pas «zipalignée»?
Ce mécanisme est décrit sur le site des développeurs Android comme suit:
zipalign est un outil d'alignement d'archives qui fournit une optimisation importante aux fichiers d'application Android (.apk). Le but est de garantir que toutes les données non compressées commencent par un alignement particulier par rapport au début du fichier. Plus précisément, il entraîne l'alignement de toutes les données non compressées du fichier .apk, telles que les images ou les fichiers bruts, sur des limites de 4 octets. Cela permet d'accéder directement à toutes les parties avec mmap () même si elles contiennent des données binaires avec des restrictions d'alignement. L'avantage est une réduction de la quantité de RAM consommée lors de l'exécution de l'application.
En bref: l' .apk
accès au contenu est plus facile / plus rapide / plus optimal en raison de l'ordre des données dans le fichier compressé.
Pour plus d'informations, il existe un "guide complet" disponible sur AddictiveTips: Qu'est-ce que Zipalign dans Android et comment créer des applications Zipaligned , qui répond à la deuxième partie de votre question:
Naturellement, la situation serait réservée aux packages d'applications non alignés. La lecture des ressources serait lente et l'utilisation de la mémoire serait à l'extrémité supérieure du spectre. Cela dépendrait également du nombre d'applications non alignées présentes. Par exemple, si le nombre d'applications avec une application d'accueil non alignée est inférieur, vous constaterez des temps de lancement des applications plus lents. C'est le meilleur scénario. Dans le pire des cas, le fait d'avoir un certain nombre d'applications non alignées entraînera le démarrage et l'arrêt répétés du système, des difficultés avec des retards et une énorme décharge de la batterie.
struct x { uint16_t id; uint32_t data[100]; };
si vous voulez qu'il soit aligné sur 32 bits; utilisationstruct x { uint16_t id; uint16_t padding; uint32_t data[100]; };
Pour ajouter ci-dessus comment fonctionne exactement zipalign -
La source
la source