由于项目经历多次版本更迭,历史遗留很多资源的冗余和结构不合理,打出的ipa包高达100M+,影响用户体验和产品的推广。因此,本次针对项目进行优化。
一、针对图片资源进行优化
1.删除不需要的一倍图,一倍图是针对iPhone4和以及更早的iPhone3时代的1X1非Reatina屏幕的适配,考虑到市场上这种手机的用户几乎已经不存在,而且2X图片也可以自动去适配,所以,1X图片做针对性删除
2.针对LaunchImage
这种大图由于历史原因出现多张重复图片进行优化
删除重复的-1.png,将原图放至对应的启动图中。如果依然会出现重复图片,则可以修改对应的json
文件,使得图片不会重复生成。
以上两项,优化掉图片10M,原本34M的Assets.xcassets
文件,已经瘦身到24M。
3.由于版本的多次迭代更改,早期版本遗留的的目前已经废弃图片资源依然存在于Assets.xcassets
文件中,针对次做优化
为此,我选用了LSUsedResources查询工程中未使用到的图片,为保证准确性,又对照着工程进行查询
将冗余的图片逐一删除。
经过以上3步处理,Assets.xcassets
的文件大小由最初的34M缩减至目前的15.8M
4.将图片资源中的部分占据资源仍然过大的图片找UI进行再次压缩
在针对超过100K的所有图片进行压缩之后,成功的将Assets.xcassets瘦身为10M
二、针对代码资源进行优化
方案:删除废弃代码
在搜寻了几款检索工程废弃代码的软件后,我最终选择了HSFCollatinFiles
为了确确保万无一失,在工程中进行手动全局搜索
在确定代码文件的确被废弃使用后,再逐一删除
目前为止,保留了少数几个工具类,删掉了23个类,40多个文件,代码瘦身291K,哈哈,毕竟代码占用的内存少呀
三、供应商的SDK占用的内存也厉害,哈哈,这块督促督促供应商也对SDK做做瘦身
网友评论