iOS-APP瘦身
一、准备工作
1.1、目前APP的情况
- 项目文件 475.6M
- ipa 57.2M
- 可执行文件 50.6M
1.2、ipa包内容解析
给APP打包,得到ipa文件,然后把后缀名改为zip,解压后如图
- 有1430个项目,共87.3MB
- 图片数量占到了99%以上
- 占内存最大的是APP的可执行文件,占了50.6MB
接下来我们就可以针对这些文件进行优化了
二、废弃资源、代码清理
2.1、AppCode排查废弃类、方法、属性
下载AppCode(AppCode是一个可以用来开发iOS程序的民间付费IDE),Code -> Inspect Code -> Unused Code,这时候就会显示出哪些类、方法、属性、引用、参数没有被使用过,就可以进行优化,记得二次确认。
在这一步删除了没有使用到的类几十个,方法几十个,无效引用几百个
2.2、LSUnusedResources排查废弃的图片资源
LSUnusedResources,下载之后按照教程操作即可,点击Full Path(Double Click to Open)这一列,会按照文件排序,方便删除
如下图所示,没有用到的图片288张,总共4248.14kb,现在可以挨个进行删除了,需要再次确认下是不是真的没有用到,比如有些图片资源在代码中是这样写的,那么这些图片就不能删除了,一定要小心
NSString *imageName = [NSString stringWithFormat:@"newfeature_%d", i+ 1];
这一波操作结束之后,删除图片540多张,
ipa包的大小由原来的57.2M减小为51.2M
2.3、图片压缩
TinyPNG,推荐用这个工具进行图片压缩
2.4、排查项目中不用的SDK
这个东西就要看大家的发挥了,我这里只说说我的经历
- 项目中用到了友盟分享,但是只分享到微信,我就把多余的qq、支付宝、微博的代码删了,节省空间24.2M
四、静态库拆分arm64架构
看这部分之前先看一下我的另外两篇文章iOS-iPhone的CPU架构、iOS-动态库与静态库、iOS-APP可执行文件分析(可以按照这篇文章步骤实际操作一下,看看哪些文件占用内存大)
有了上边三篇文章的基础,接下来我们就可以很方便的操作了
4.1、找到项目中所有的静态库.a、.framework
反正大家项目中用到的SDK也就那么几个,最多十几个,挨个找出来,copy一份出来,挨个查看一下静态库都支持哪些架构,然后拆分出arm64架构的静态库替换掉项目中的静态库即可,拆封方法见iOS-动态库与静态库
最后我拆分的效果如下:
五、资源从服务器获取
我们本地其实是有个存放全国城市的plist文件,这个文件是1.4M,我并没有寻找后台人员配合把文件放到服务器,主要是因为瘦身工作是我自己给自己找的额外工作,想提高自己,知道思路就行,先不麻烦别人了。
六、最终结果
瘦身前:
- 项目文件 475.6M
- ipa 57.2M
- 可执行文件 54.4M
瘦身后:
- 项目文件 213.2M
- ipa 36M
- 可执行文件 24.6M
这只是最浅显的瘦身的方法,还有更底层的等待我们去发掘
转载请注明来源,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 1226169349@qq.com
文章标题:iOS-APP瘦身
文章字数:862
本文作者:王立志
发布时间:2019-10-18, 14:17:45
最后更新:2019-11-29, 17:19:09
原始链接:http://yoursite.com/2019/10/18/iOS-APP瘦身/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。