减lessiOS应用程序文件大小

我用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) 

编辑1:显然Xcode做我的PNG奇怪。 这些图片中的一些,最初是2MB,在.app文件中超过10MB。 xcode在那里做什么?

苹果重新压缩的文件更大,这实际上并不奇怪。 它们针对快速加载而不是小尺寸进行了优化。 如果你不在乎速度的大小,挑剔地关掉压缩。 即使你关心速度,你也可以比苹果做得更好。

https://imageoptim.com/xcode.html

所以是的,closuresPNG压缩。 我要做的第一件事是build立IPA。 一个IPA实际上是一个压缩文件,所以build立IPA,将其复制到您的MAC上的文件夹,用.ZIP扩展名重命名该文件,并双击它。 这将扩大它。 在Payload文件夹中find该应用程序,并右键单击它并select显示包内容。 你会看到所有的资产。 按大小sorting。 我猜你有太大的图像。 在这个尺寸上,我的猜测是,额外的大小可能几乎完全由PNG文件引起的。

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

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

默认情况下,PNG文件是32位。 24位色和8位alpha /透明度。 你可以节省一点点的大小去24位。 你也可以保存很多大小为16位或更低的颜色。 在8位PNG文件中使用颜色查找表。 用Photoshop和我们的选项保存在比特深度为8和以下的PNG上。

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

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

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

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

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

大卫

Interesting Posts