我的应用程序有一个大约1940个图标的集合,在整个过程中使用。
他们目前在ICO和新的图像提供给我也在ICO格式。我注意到它们包含一个文件中每个图标的16x16和32x32表示。
每个文件的文件大小大约为4KB(如finder报告的那样,但是
ls
报告它们从大约1000字节到5000字节不等)
这些图标中的极少数只包含32x32表示,因此大小仅为700字节左右。
目前,我正在将这些图标与我的应用程序捆绑在一起,它们使应用程序的大小比我想要的要大一点。
总的来说,这些图像总共只有25.5兆字节。Xcode必须进行某种压缩,因为生成的应用程序包大约为12.4MB。将其进一步压缩到一个zip中(就像提交到应用商店时一样),最终得到5.8MB的文件。
我知道自iPad推出以来,无线应用商店下载的最大限制已经提高到了20MB(但我不确定这是否扩展到了iPhone应用和iPad应用,如果不是,限制将是10MB)。
我担心新图标会被添加(有时每周最多10个图标),并且会随着时间的推移不断膨胀应用程序包。
用我的应用程序分发这些图标的最佳方法是什么?
我尝试过但没有取得多大成功的事情:
-
将图标从ICO转换为PNG:
-
我尝试了这个方法,希望pngcrush实用程序可以帮助解决文件大小问题。但看起来,正常的PNG和压缩的PNG并没有太大的区别(我相信它只是优化了在iPhone的GPU上显示的图像,而不是压缩它的大小)。同样,从ICO到PNG实际上增加了图标文件的大小…
-
压缩图像,然后在第一次运行时解压缩。
-
虽然这确实减少了整体图像的大小,但我发现解压缩、将它们复制到文档文件夹并确保升级时不会发生重复的工作太麻烦了,不值得从中获益。此外,在原版和3g iPhone上,解压和复制大约25MB的图像花费太长时间,造成了糟糕的体验…
我考虑过但尚未尝试的事情:
-
而不是在应用程序包中分发图标,而是将其在线托管,并根据需要下载每个图标(具体取决于用户的数据,以及实际显示图标的时间)。
-
这方面的问题是带宽成本高,图像下载将占用大量带宽。但是,我的应用程序目前有一个大约5500个用户的小用户群(根据flurry统计,我估计其中1500个用户是活跃的),我有一个巨大的未使用的带宽允许与我当前的主机包。
所以我愿意考虑如何解决这个棘手的问题。