之前看过阿里UED的一篇文章“App瘦身记”,是从UED的角度来看待减小App大小,前面3点是建议,后面2点是瘦身办法。
我来说一下我的经验。大致的思路是:分析Xcodebuild目录下xx.app的资源,按从大到小排序,重点优化大文件。这个方法效果最好,能够让app瘦身50%以上,也就是减小用户一半的下载时间。
Debug和Release编译模式产生的文件大小是不一样的,Debug模式生成的xx.app要大些。建议用Release模式生成的xx.app来分析,这个是最接近提交审核的IAP。
产品上线后显示在AppStore上程序的大小是经过压缩的。可以手动压缩xx.app,查看生成的xx.zip的大小,这个是最接近产品上线后的大小。
可以看到最占用空间的那些文件,一般是png文件占用的空间比较大,特别是iPad3视网膜的启动画面,可以大到7MB!如果app支持横竖屏,那么启动画面文件的大小又增加1倍。
• 阿里UED里提到的Workthrough (这个在国内app很常见)
比如:背景图片、Workthrough、bundle里面的png文件,jpg压缩比使用0.6左右,在不影响视觉效果的情况下尽可能的小;
• 不使用Default.png,使用Default.jpg
• 优化png, jpg素材
推荐使用ImageOptim,在准备提交审核前,使用该工具优化所有png, jpg素材。可以减小~20%左右的图片大小。但png素材在Xcode编译后体积跟优化前的差不多,这个应该跟Xcode的优化方式有关。更新:需要关掉Xcode的png优化,ImageOptim优化的效果才明显,参考官方说明:Xcode's built-in (de)optimization;
• 音视频素材使用经过压缩的格式
wav的音频格式生成的文件比较大,可以使用苹果推荐的caf格式代替。关于如何选择音频压缩格式可以参考这篇文章:Audio101 for iPhone Developers: File and Data Formats。
在第一次产品提交审核前,可以过一下上面提到的方法,减小App大小。我们的一个产品PhotoCool 1.2版本的大小是22.4MB,在1.3版本使用以上方法进行优化,优化后只有13.1MB,缩小了41.5%!下载速度快了,用户会更高兴的。