Каковы преимущества / последствия компиляции только архитектуры armv7? - PullRequest
14 голосов
/ 30 мая 2010

При компиляции приложений для iPhone есть настройка для «Оптимизированной» архитектуры (только armv7) по сравнению со стандартной архитектурой armv6 / armv7.

Каковы преимущества / последствия компиляции архитектуры только для armv7?

Ответы [ 2 ]

19 голосов
/ 01 июня 2010

Если ваша программа не требует OpenGLES 2.0 (который поддерживается только на устройствах, поддерживающих armv7), вы должны скомпилировать стандартный двоичный файл fat (armv6 / armv7). Жирный двоичный файл - это в основном два (или более) двоичных файла Mach-O, склеенных вместе, с одной заголовочной страницей в начале. Затраты на производительность незначительны: динамический загрузчик должен принять дополнительную ошибку страницы для страницы заголовка, чтобы определить, какую архитектуру загрузить.

Сборка только для armv7 существенно сократит размер вашего исполняемого файла, хотя маловероятно, что ваш исполняемый файл будет настолько большим для начала. Вы можете использовать команды «size» и «otool» на хосте, чтобы получить больше информации о различных разделах в двоичном файле вашего приложения, например, "size -arch armv6 build / Release / MyApp.app / MyApp" получит размер различных разделов в бинарной версии armv6, "size -arch armv7 build / Release / MyApp.app / MyApp" получит размер различные разделы в бинарной версии armv7 и, очевидно, «ls -l build / Release / MyApp.app / MyApp» получат фактический размер файла бинарника.

13 голосов
/ 31 мая 2010

Меньший исполняемый файл быстрее загружается из магазина приложений. Тем не менее, вы отключаете не-armv7 устройств .

...