10

我的 iPhone 应用程序正准备投入生产,我们希望尽可能多地塞入数据。当我查看为我的应用程序生成的 .app 文件时,我看到一个名为 <executable name> 的文件,我认为它是编译后的代码。大约 2.5 兆,对于我在我的应用程序中包含的内容来说似乎很大。我应该检查什么类型的东西以确保我的可执行文件中没有任何不需要的项目?

4

2 回答 2

5

您可以做很多事情——2.5 MB 是一个小应用程序。

  • 一种明显的方法是验证您的二进制文件实际上是否已被剥离。这将删除未使用的引用(例如实际上未调用的函数)和调试信息。

  • 链接时间优化 (LTO) 可以为您节省大量空间,尽管这适用于程序的 C 和 C++ 方面。它使我的一个程序缩小到大约 1/5 的大小。

  • 玩优化设置。O3并且O2经常产生比Os.

  • 跟踪您的依赖库。它们导出的符号可能比较大。

  • 在大型项目中使用 C 或 C++ 共享库。如果未使用,它们可能会被剥离或优化掉。

  • 最小化static数据和static函数,将其范围限制在 c、cpp、m、mm 文件中。

于 2011-05-14T04:01:48.597 回答
2

我可能不会过分担心应用程序是 2.5MB,但如果您想尽职尽责确保只包含真正需要的内容,我会查看所有资源文件(图片、视图、电影等),并确保所有这些都被应用程序使用。

于 2011-05-14T00:19:03.207 回答