减少iOS App文件大小

时间:2014-12-05 17:23:11

标签: ios xcode swift ios8.1 application-size

我用Xcode 6.1和swift创建了一个非常简单的iPhone应用程序。我真的很喜欢ios开发并遇到一个应用程序,最终是134 MB!当然这是不可接受的。

我有所有屏幕尺寸的背景图像,最多可达20 mb。这就是它!我将这些图像存储在xcassets中,因为这是我猜的首选方式。

我觉得应用程序的重量不应超过25 mbs。

我发现我的项目中有一些引用加倍。我删除了这些,仍然我的.app文件是89 mbs!

我做错了什么?我在这上面阅读了几个主题,但没有任何帮助!

到目前为止我做了什么:

- reduce the size of all pngs
- disable the compress PNG option, as it seems to make the PNGs bigger (lol)
- configured the build settings to run the fastest and smallest build
- Strip Debug Symbols During Copy build setting to Yes (COPY_PHASE_STRIP = YES)

edit1:Apparenty Xcode用我的png做了一些奇怪的事。其中一些图片,原来是2 MB,在.app文件中超过10mb。 xcode做了什么?

1 个答案:

答案 0 :(得分:12)

Apple重新压缩的文件实际上并不奇怪。它们针对快速负载而非小尺寸进行了优化。如果您不关心尺寸超过速度,请务必关闭压缩。即使你关心速度,你也可以做得比苹果好。

https://imageoptim.com/xcode.html

是的,请关闭PNG压缩。我要做的第一件事是建立ipa。 ipa实际上是一个zip文件,所以构建ipa,将其复制到mac上的文件夹,用.zip扩展名重命名该文件,然后双击它。这将扩大它。在Payload文件夹中找到该应用程序,然后在其上单击鼠标右键并选择显示包内容。您将看到所有资产。按大小排序。我猜你有过大的图像。在那个大小,我的猜测是额外的大小可能几乎完全由PNG文件引起。

考虑使用非视网膜图像。老实说,大多数人都不会注意到。 iOS将优雅地使用视网膜上的非视网膜。这可以节省大量空间,

如果您不需要透明度,还可以考虑对某些文件使用jpeg文件而不是PNG。 Jpeg文件效率较低,但可以小得多。比较两者。取决于图像连续色调的程度。

默认情况下,PNG文件为32位。 24位颜色和8个buit alpha /透明度。您可以通过转换为24位来节省一些大小。您还可以将大量的尺寸保存为16位或更低的颜色。在8位PNG文件中使用颜色查找表。使用Photoshop和PNG的保存选项,位深度为8及以下。

我有各种昂贵的压缩软件,但经常使用8美元

https://itunes.apple.com/us/app/lossless-photo-squeezer/id704083918?mt=12

尝试使用8位PNG选项和JPEG选项。

修改 我做了一些研究。我一直都知道Fireworks做了更好的PNG压缩。我没有意识到有一个8位PNG和8位alpha通道。 Photoshop支持8位,1位Alpha通道。如果透明度需要超过1位,我总是告诉人们使用32位PNG。在将来我会告诉他们8位alpha的8位可能是更好的路线,他们只能使用Photoshop进行文件的最终保存。他们只需要保存32位并在其他地方压缩。

http://calendar.perfplanet.com/2010/png-that-works/

大卫