在编译 iPhone 应用时,有一个“优化”的架构设置(仅限 armv7),与标准的 armv6/armv7 架构相比。
编译仅支持 armv7 架构的应用程序有什么好处或后果?
编译仅支持 armv7 架构的应用程序有什么好处或后果?
除非您的程序需要使用OpenGLES 2.0(仅支持armv7设备),否则应编译标准的fat(armv6 / armv7)二进制文件。 fat二进制文件基本上是将两个(或更多)Mach-O二进制文件粘合在一起,并在开头添加一个单一的页眉。性能成本几乎可以忽略不计:动态加载器必须进行额外的页面错误以确定要加载哪个体系结构。
仅为armv7构建将基本上使您的可执行文件大小减半,尽管您的可执行文件可能本来就不大。您可以在主机上使用“size”和“otool”命令获取有关应用程序二进制文件中各个部分的更多信息,例如“size -arch armv6 build / Release / MyApp.app / MyApp”将获取二进制文件版本中各个部分的大小,"size -arch armv7 build / Release / MyApp.app / MyApp" 将获取二进制文件版本中各个部分的大小,而“ls -l build / Release / MyApp.app / MyApp”将获取二进制文件的实际文件大小。
较小的可执行文件可以更快地从应用商店下载。但是,这样就削减了非ARMv7设备。