iOS瘦身之路(上上)
来源:互联网 发布:伊莉维尔淘宝店 编辑:程序博客网 时间:2024/04/29 00:34
转自:http://blog.csdn.net/lizitao/article/details/52839599
苹果对于App的包体大小是有限制的,具体可以参看下面的文档:
Submitting the App to App Review
像美团点评这种app体量,安装包都已经100多M,对于瘦身,是有较强的意愿的。尤其是最近,平台给了各个业务分配了对应的包体基准值,超过这个值代码就不准合入。当然瘦身的方法有很多,在进行瘦身时,也要考虑每个方案的性价比的问题。经过不断的积累,整理了一些App常见的减肥方法。
1、清理废弃的资源文件与代码
这个就不用多说了,随着“历史的沉淀”,会有大量的废弃业务的代码以及资源文件,它的清理也是充满了坑坑洼洼。
2、去重
去重包括很多方面,包括重复代码类、重复资源文件,对于点评美团这种业务繁多的App,工程项目中图片数量达到几千张,业务部门之间互相copy图片的现象是很常见的,之前写过一个工具,可以脚本扫描工程中的重复图片和重复代码,图片遍历对比每个图片的MD5值;代码文件比较复杂,写了一个算法去查找相似度为100%的代码文件;
3、采取.xcassets方式管理图片
.xcassets的好处有很多,其中一个就是App Slicing的功能,App Slicing大致就是App Store会根据不同的设备准备不同的安装包(App Variant),每个安装包(App Variant)都只有相应尺寸的图片,比如 iPhone 6 去下载时,只会下载到 @2x 的图片的安装包(App Variant)。
参考:http://www.jianshu.com/p/1034748e3fef
4、代码的复用
代码复用涉及的范围比较广,我们在具体做的时候,是针对我们自己的业务建立一个独立的pod,这个pod专门用来存放我们业务中的工具类、通用控件等通用逻辑,这个pod建立之后,我们经过不断的重构与整理,去除了不少代码。
5、纯代码布局以及去xib
刚加入点评时,就已经开始禁止使用xib进行布局了,xib布局在累积到一定程度会比纯代码布局有明显的空间劣势。
6、按需加载
苹果的按需加载给我们提供了一种思路,常用的主要功能用到的Local处理,不常用的非必需的可以进行Remote处理;
详细参考:http://benbeng.leanote.com/post/On-Demand-Resources-Guide
7、图片的统一
将图片统一为png,这也是苹果推荐的。如果有条件,可以考虑webp格式。
8、背景图清理
很多业务代码的在做背景效果时,喜欢用图片,例如UIButton的背景,其实我们可以用简单的编码就可以替代。
9、动态库
动态库可以大幅降低可执行文件包大小。
参考文档:
http://blog.cnbang.net/tech/2544/
http://benbeng.leanote.com/post/On-Demand-Resources-Guide
- iOS瘦身之路(上上)
- iOS瘦身之路(上)
- iOS app瘦身优化之路
- iOS之viewController瘦身
- iOS 探讨之 IPA瘦身
- APK瘦身之路
- APK瘦身之路
- APK 瘦身之路
- iOS APP瘦身技巧之第三方SDK瘦身
- iOS App 瘦身法之图片
- iOS之开发的SDK(.framework)瘦身
- Adapter适配器之瘦身之路
- iOS瘦身之删除FrameWork中无用mach-O文件
- iOS瘦身之按需加载资源开发指南
- ios 安装包瘦身之 编译选项优化
- iOS开发APP瘦身之PDF图片资源加载框架
- APK--瘦身之路--减小软件大小
- iOS可执行文件瘦身方法
- Nginx学习日志
- 深度学习之Python的科学计算包 – Numpy
- 解决使用Glide加载图片的时候会出现拉伸的情况,即使设置了centerCrop()也没用的问题
- 前端 div 无空白隐藏
- Internet Bandwidth UVA
- iOS瘦身之路(上上)
- Java中for循环的执行顺序
- androidstudio3.0使用butterknife报错解决
- SVM
- markdown转换html
- “奇点临近,智能永生”超级人工智能专场分享会
- 谁是安全界奥斯卡“Pwnie Awards”?
- 面对人工智能,学而优者的正确入局姿势是怎样的?
- 一篇文章看懂中国无人驾驶30年