代码之家  ›  专栏  ›  技术社区  ›  coneybeare

编译仅armv7架构的好处/后果是什么?

  •  14
  • coneybeare  · 技术社区  · 16 年前

    在编译iPhone应用程序时,有一个针对“优化”体系结构(仅限ARMV7)与标准ARMV6/ARMV7体系结构的设置。

    编译仅armv7架构的好处/后果是什么?

    2 回复  |  直到 16 年前
        1
  •  13
  •   Alex Reynolds    16 年前

    较小的可执行文件可以更快地从应用程序商店下载。但是,你确实切断了 non-armv7 devices .

        2
  •  19
  •   orange    16 年前

    除非您的程序需要OpenGLES2.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”会得到二进制文件的实际大小。