编译armv7架构有什么好处/后果?

con*_*are 14 compiler-construction iphone armv7 armv6

在编译iPhone应用程序时,有一个"优化"架构(仅限armv7)与标准armv6/armv7架构的设置.

编译armv7架构有什么好处/后果?

小智 19

除非你的程序需要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"将获得二进制文件的实际文件大小.


Ale*_*lds 13

较小的可执行文件可以从应用商店下载得更快.但是,您确实切断了非armv7设备.

  • 可能是iPhone,iPhone 3G,iPod Touch第一代和第二代. (4认同)
  • 要仅在App Store中标记您的应用程序是armv7,您可以将"armv7"添加到Info.plist中的UIRequiredDeviceCapabilities列表中. (4认同)