优化 iPhone / iPod touch 上的二进制应用程序大小
Posted
技术标签:
【中文标题】优化 iPhone / iPod touch 上的二进制应用程序大小【英文标题】:Optimizing binary app size on iPhone / iPod touch 【发布时间】:2010-10-13 10:29:05 【问题描述】:我知道用户最多只能通过 3G 下载 20MB,而我的 build/Release-iphoneos 显示我的应用程序为 26MB。
我正在链接 three20 iPhone 框架。
这是提交到 App Store 时计入最大 20MB 的最终大小吗?
有什么办法可以把它压得更低吗? (我使用的是一堆从 JPEG 转换而来的 PNG,所以我想我可以降低它们转换的质量。)
谢谢。
【问题讨论】:
如果图像最初是 JPEG,它们可能会比 PNG 更紧凑。 那么我应该使用 jpeg 吗?我认为 Apple 会推荐 PNG。 如果问题是特定于图像资源压缩的,则与 binary 大小无关。也许应该重命名问题,或者您可以向我们提供实际数字:26 个中的 18MB 是二进制,4 MB 是 xib,4 MB 是图像(尽管比例不太可能)。图像资源压缩与二进制大小缩减有很大不同。 【参考方案1】:你可能真的很好。真正重要的是应用程序压缩后的大小,因为这也是 Apple 发送应用程序的方式。右键(控制)-单击您的发布应用程序并选择压缩。生成的 .zip 文件的大小需要小于 20MB。
【讨论】:
【参考方案2】:你在使用某种声音吗???如果你对你使用的格式很小心,(在我的情况下,声音总是我提到应用程序大小的最大问题)
是的,二进制大小也将是您在应用商店中的应用大小
【讨论】:
然后尝试调整 png 的大小或降低质量,并且不要在应用中添加任何你不使用的东西 :)【参考方案3】:二进制文件本身有多大?我怀疑它对应用程序包的整体大小有多大贡献。考虑在这些 PNG 文件上使用 pngcrush
(here)。资源将是您最大的节省空间。
【讨论】:
我认为 pngcrush(或等效的)已经由苹果的安装/打包脚本运行?我会尝试运行它。【参考方案4】:我认为 three20 sdk 也会增加您的应用程序大小(大约 1-2M,带有 -all_load 标志)。
【讨论】:
【参考方案5】:如果您使用的是 24 位 PNG,那么您可以使用 ImageAlpha 将其大小减半。
但是,如果您的原始图像是 JPEG,则将它们保留为该格式,因为将有损格式转换为无损格式是没有意义的(这只会增加文件大小而不会恢复任何质量)。
【讨论】:
以上是关于优化 iPhone / iPod touch 上的二进制应用程序大小的主要内容,如果未能解决你的问题,请参考以下文章
某些 iPhone 4s 和 iPod Touch 上的随机 img 保存错误
JavaScript iPhone / iPod Touch检测
检测特定的iPhone / iPod touch型号[重复]