Quels sont les avantages / conséquences de la compilation d'une architecture ARMv7 seulement?
-
05-10-2019 - |
Question
Dans la compilation des applications iPhone, il y a un paramètre pour l'architecture "optimisée" (ARMv7 uniquement) vs une norme ARMv6 / architecture ARMv7.
Quels sont les avantages / conséquences de la compilation d'une architecture ARMv7 seulement?
La solution
Un plus petit exécutable est un téléchargement plus rapide de l'App Store. Cependant, vous ne coupez périphériques non-ARMv7 .
Autres conseils
À moins que votre programme nécessite OpenGLES 2.0 (qui est pris en charge uniquement sur les périphériques ARMv7 supportant), vous devez compiler la graisse standard (ARMv6 / ARMv7) binaire. Un binaire de graisse est essentiellement deux (ou plus) des binaires Mach-O collées ensemble, avec une seule page d'en-tête au début. Le coût de performance est négligeable: le chargeur dynamique doit prendre une défaillance de page supplémentaire pour la page d'en-tête pour déterminer quelle architecture à la charge
.Bâtiment pour ARMv7 seulement réduire de moitié essentiellement la taille de votre exécutable, mais il est peu probable que l'exécutable est tout ce grand pour commencer. Vous pouvez utiliser la « taille » et « otool » commandes sur l'hôte pour obtenir plus d'informations sur les différentes sections dans le binaire, par exemple de votre application "Taille build -arch de ARMv6 / Release / MyApp.app / MyApp" aura la taille des différentes sections dans la version ARMv6 d'un binaire, "taille -arch ARMv7 build / Release / MyApp.app / MyApp" auront la taille différentes sections dans la version ARMv7 d'un binaire, et évidemment « build ls / Release / MyApp.app / MyApp » auront la taille réelle du fichier du binaire.