优化 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检测

检测特定的iPhone / iPod touch型号[重复]

检测设备型号(iPhone/iPod Touch)的正确方法?

如何识别设备(iPod touch/iPhone)是 2G 还是 3G?