2010-05-30 3 views

Antwort

13

Eine kleinere ausführbare Datei ist ein schnellerer Download aus dem App Store. Sie schneiden jedoch non-armv7 devices aus.

+0

aus der aktuellen line-up, welche Geräte sind nicht armv7? – coneybeare

+4

Wahrscheinlich das iPhone, iPhone 3G, iPod Touch 1. und 2. Generation. –

+0

@Alex Was passiert, wenn die App im App Store ist? Sie können die App nicht herunterladen oder die App stürzt ab, wenn sie gestartet wird? – CedricSoubrie

19

Sofern Ihr Programm OpenGLES 2.0 nicht benötigt (das nur auf armv7-unterstützenden Geräten unterstützt wird), sollten Sie die Standard-Binärdatei fat (armv6/armv7) kompilieren. Eine fette Binärdatei besteht im Wesentlichen aus zwei (oder mehr) Mach-O-Binärdateien, die zusammen geklebt sind, mit einer einzigen Kopfseite am Anfang. Die Leistungskosten sind vernachlässigbar: Der dynamische Lader muss einen zusätzlichen Seitenfehler für die Kopfseite verwenden, um zu bestimmen, welche Architektur geladen werden soll.

Nur für armv7 zu bauen wird die Größe Ihrer ausführbaren Datei im Wesentlichen halbieren, obwohl es unwahrscheinlich ist, dass Ihre ausführbare Datei zu Beginn so groß ist. Sie können die Befehle "size" und "otool" auf dem Host verwenden, um weitere Informationen zu den verschiedenen Abschnitten in der Binärdatei Ihrer App zu erhalten, z. "size -arch armv6 build/Release/MyApp.app/MyApp" erhält die Größe verschiedener Abschnitte in der armv6-Version einer Binärdatei, "size -arch armv7 build/Release/MyApp.app/MyApp" erhält die Größe von Verschiedene Abschnitte in der armv7-Version einer Binärdatei und offensichtlich "ls -l build/Release/MyApp.app/MyApp" erhalten die tatsächliche Dateigröße der Binärdatei.

Verwandte Themen