<article class="_2rhmJa">
思路:
1.剔除项目中未使用的图标。
利用LSUnusedResources工具,下载好LSUnusedResources 之后在Mac上运行项目。出现查找的图片可以删除。下载地址:https://github.com/tinymind/LSUnusedResources
删除的时候最好查证一下项目中有没有使用,以防万一。
2.无损压缩图片。
利用imageOptim工具,Mac上前往appstore直接搜索下载,,每天免费用20次,,这个地方是最容易清理出很大的内存。
3.处理废弃代码,这一点只有手动进行,每个页面移除废弃代码,注意,如果之前注释是为了以后使用的业务逻辑,就不要删。
4.由于本身项目涉及到国际化,把没用的翻译key删除。。删除要注意,中文英文或者其他语言对应的key都要删除,,这一点本身占不了多少包的大小,,但是也是瘦身的一部分。
5.移除废打印,,打印NSLog最好在debug模式下打印,这一点在宏文件里面判断好,,由于本身项目是多人开发,会出现页面单独出现NSLog的出现,,因此需要改为debug模式下打印,或者直接删除。
6.使用fui扫描工程中不用的类或者页面,链接地址 https://my.oschina.net/u/4348226/blog/3508788。这一点识别出来的类可能不在你项目目录,也有可能是整个项目其他地方均未使用,都可以删除,注意分类也能识别出来不要删除。
7.iOS可执行文件瘦身方法,链接地址:http://blog.cnbang.net/tech/2544/
8.移除项目里面未使用的三方库pods,由于本项目是一个长期迭代的项目,,可能出现早期版本使用的三方现在已经没有使用,所以需要剔除。
9.如果项目是多人开发,,受多人开发习惯的影响,最好整理一下公共类/工具类/基础类/分类/宏文件,,将各个页面单独写的较多地方使用的模块,进行独立封装后引用,这点如果是中大型项目其实可以清理不少大小,可能你一个模块就是几十个页面在用,这也是编程思想的体现。
10.项目警告处理,这一点也很关键,,间接可以改变包大小,有些警告,比如你声明的私有变量在整个页面都未使用,打包的时候实际上是打包成了可执行文件,增加了包大小,这里我说的只是一种情况,还可能出现的警告有:类型转换警告.数组类型警告.未使用数据警告.未使用代理方法的警告.在if-else中缺少属性值的警告.类型指向错误.Block方法无返回值时缺少void关键字的警告.通知未调用方法的警告.获取键盘类型使用ios7语法的警告.字典不可变警告,等号两边类型不一致警告,UIAlertView在IOS8之后弃用的警告,给模型赋值为nil的警告等。有些警告不会增加包大小,但是也是项目优化的一部分,正确来讲,项目中能处理的警告最好都处理掉。
</article>
5人点赞
作者:小白奔哥
链接:https://www.jianshu.com/p/3e294c82356f
来源:简书
网友评论