gpt4 book ai didi

ios - 减少 objective-c 中静态库大小的最佳实践是什么?

转载 作者:技术小花猫 更新时间:2023-10-29 10:16:13 25 4
gpt4 key购买 nike

在构建 objective-c 静态库时,我注意到 .a 文件(来自模拟器和 iPhone 的 fat 文件)非常大。特别是,它原本是5.7mb。我找到了 this post并将我的build设置 Generate Debug Symbols 设置为 No,将 lib 大小减小到 1.7mb。

这是一个很大的改进,但是还有什么可以做的吗?仅实现和头文件就占用 ~100kb。

最佳答案

如果这是您关注的一部分,静态库只是将相关的 .o 文件归档在一起加上一些簿记。因此,一个 1.7mb 的静态库——即使其中的代码是整个 1.7mb——通常不会给你的产品增加 1.7mb。有关死代码剥离的通常规则将适用。

除此之外,您还可以减少代码的构建大小。以下可能不是一个完整的列表。

在目标的build设置中查找“优化级别”。通过将其切换为“最快、最小的 -Os”,您将允许编译器为大小牺牲一些速度。

确保您正在为 thumb 构建更紧凑的 ARM 代码。假设您使用的是 LLVM,这意味着确保您在项目设置中的任何地方都没有 -mno-thumb

还要考虑您要为哪些架构构建。 Apple 不允许提交同时支持 ARMv6 和 iPhone 5 屏幕的应用程序,并且已从最新的 Xcode 中完全放弃对 ARMv6 的支持。因此,目前可能没有必要包括在内。

关于ios - 减少 objective-c 中静态库大小的最佳实践是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13753667/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com