如何减少iPhone应用程序的代码大小?

发布于 2024-11-07 07:56:42 字数 193 浏览 4 评论 0原文

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

My iPhone app is getting ready to go to production and we like to cram in as much data as possible. When I poke around the generated .app file for my application I see a file named <executable name> which I assume is the compiled code. It is about 2.5 megs which seem large for what I am including in my app. What type of things should I check to make sure there aren't any unneeded items being included into my executable?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

妄司 2024-11-14 07:56:42

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

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

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

  • 使用优化设置。 O3O2 通常会生成比 Os 更小的二进制文件。

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

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

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

There are a number of things you could do -- 2.5 MB is a small app.

  • One obvious way is to verify that your binary is in fact stripped. This removes unused references (e.g. functions which are not actually called) and debugging info.

  • Link Time Optimization (LTO) can save you a ton of space, although that applies to the C and C++ aspects of your program. It brought one of my programs down to about 1/5 the size.

  • Play with optimization settings. O3 and O2 often produce a smaller binary than Os.

  • Keep track of your dependent libraries. Their exported symbols may be relatively large.

  • Favor C or C++ for shared libraries in larger projects. If unused, they may be stripped or optimized away.

  • Minimize static data and static functions, restricting their scope to the c, cpp, m, mm file.

江湖彼岸 2024-11-14 07:56:42

我可能不会过分担心该应用程序有 2.5MB,但如果您想进行尽职调查以确保只包含真正需要的内容,我会查看所有资源文件(图像、视图、电影等),并确保应用程序正在使用它们。

I probably wouldn't be overly concerned about the app being 2.5MB, but if you want to do due diligence in making sure you're only including what is really needed, I'd take a look at all of the resource files (images, views, movies, etc) that your project references and make sure that all of them are being used by the application.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文