App再瘦身

App再瘦身,第1张

概述从09年开始做iPhoneDev到现在刚好3年时间,那个时候还在北京的一家公司实习,从OC语法开始自学,你可以看到周围的人在用iPhone3GS,但没人懂OC、很少人用过Mac系统。一路过来有cocoachina、stackoverflow、iphonedevsdk等出名站点的帮助,收获不少。现在,自己正处在角色的转型,对自己这3年来的iPhone开发在不停的思考着,整理成文档,希望自己的经验能够 09年开始做iPhoneDev到现在刚好3年时间,那个时候还在北京的一家公司实习,从OC语法开始自学,你可以看到周围的人在用iPhone3GS,但没人懂OC、很少人用过Mac系统。一路过来有cocoachinastackoverflowiphonedevsdk等出名站点的帮助,收获不少。现在,自己正处在角色的转型,对自己这3年来的iPhone开发在不停的思考着,整理成文档,希望自己的经验能够对CC朋友有所帮助。有错误的地方和任何问题,请毫不犹豫的指出。

这个帖子整理App大小优化的经验。
之前看过阿里UED的一篇文章“App瘦身记”,是从UED的角度来看待减小App大小,前面3点是建议,后面2点是瘦身办法。
我来说一下我的经验。大致的思路是:分析Xcodebuild目录下xx.app的资源,按从大到小排序,重点优化大文件。这个方法效果最好,能够让app瘦身50%以上,也就是减小用户一半的下载时间。
查看生成的app大小 DeBUGRelease编译模式产生的文件大小是不一样的,DeBUG模式生成的xx.app要大些。建议用Release模式生成的xx.app来分析,这个是最接近提交审核的IAP



产品上线后显示在AppStore上程序的大小是经过压缩的。可以手动压缩xx.app,查看生成的xx.zip的大小,这个是最接近产品上线后的大小。

产品上线后iTunes显示的大小:

开始瘦身 右键点击xx.app查看包的内容,按大小排序。



可以看到最占用空间的那些文件,一般是png文件占用的空间比较大,特别是iPad3视网膜的启动画面,可以大到7MB!如果app支持横竖屏,那么启动画面文件的大小又增加1倍。

这里列出常见的大文件:
•  可执行文件
• 启动画面 (比如:iPad 3 Retina)
• 背景图片
• 阿里UED里提到的Workthrough (这个在国内app很常见)
• 第三方库的bundle包、说明文件
• 音效素材 (比如:wav格式文件)

优化方法有:

• 不需要透明的地方,使用jpg而不是png
比如:背景图片、Workthroughbundle里面的png文件,jpg压缩比使用0.6左右,在不影响视觉效果的情况下尽可能的小;

• 不使用Default.png,使用Default.jpg
苹果限制启动画面只能是png格式,iPad3 Retinapng文件往往都很大。这种情况下可以在app启动时显示Default.jpg,等到载入完毕后再显示首页。该方式的缺点是启动时会有黑屏然后才显示Default.jpg;优点是大大减小app大小,以及可自定义启动画面。比如UC浏览器HD在伦敦奥运会期间更换的启动画面;
• 素材做成可拉伸,类似AndroID.9
界面导航条背景、d框背景、按钮等都可以考虑用拉伸素材;

• 去除不必要的文件
一般开发时都有统一的通用库,方便其它工程调用,节省开发时间。把常用的库集成到通用库里会造成通用库体积变大,应该注意不必要的资源不要添加进去。比如:在发布的时候,TestFlight可以不用编译;第三方库的说明文件不要引入工程,Flurrytxtpdf文件;如果付费版本不需要广告,那么广告SDK不要集成到通用库,只在单独的工程里引用;
• 优化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 在第一次产品提交审核前,可以过一下上面提到的方法,减小@H_664_404@App大小。我们的一个产品@H_664_404@PhotoCool 1.2版本的大小是@H_664_404@22.4MB,在@H_664_404@1.3版本使用以上方法进行优化,优化后只有@H_664_404@13.1MB,缩小了@H_664_404@41.5%!下载速度快了,用户会更高兴的。 总结

以上是内存溢出为你收集整理的App再瘦身全部内容,希望文章能够帮你解决App再瘦身所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1089888.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存