iOS安装包瘦身优化实录

近期对公司项目进行了一次安装包瘦身优化,总体效果明显,总包大小从之前的66.9M降到了49.2M,在此做下瘦身过程记录。


先说下目前行业内常用的瘦身办法:

  • 删除无用资源,包括1倍图、无用图片、重复图片、无用文件
  • 图片压缩,针对大图进行无损压缩
  • 按需下载图片,不常用的图片动态下载
  • 删除项目中的无用类,减少无用方法,重复代码整理
  • 删除无用第三方库,静态库指令集优化
  • 编译选项优化
  • 减少storyboard和xib使用
  • 支持BitCode

本次一期瘦身过程中用到的方法:

1、删除无用资源

首先排除所有的1倍图,当存在2x或3x图片时,从Assets.xcassets中移除1x图片。

通过工具LSUnusedResources扫描无用图片,要选中ignore similar name防止误删图片,然后按size排序,优先处理较大的图片,最后再逐个Xcode中进行确认再进行删除。

删除重复图片,名字重复可通过Xcode警告发现:Assets.xcassets:-1: The image set name “addImage” is used by multiple image sets。内容重复图片排查本期未做。

2、图片压缩

针对banner大图或者背景图片进行压缩处理,ImageOptim

4、删除项目中的无用类

排查未被引用的文件,一旦被引用,即使未使用,通过此工具也排查不出来,CATClearProjectTool

通过排查到的文件列表,逐个Xcode工程中搜索确认,防止通过NSClassFromString反射实现。由于项目年代久远,此次一共发现了40+无用类文件。

5、删除无用第三方库

通过排查无用类的时候,可发现第三方未被使用,然后再进一步排查整个类库是否未被使用。此次一共移除了3个无用第三方库。


工欲善其事必先利其器

无用图片排查:LSUnusedResources

无用类排查:CATClearProjectTool

图片内容相同排查:fdupes

图片压缩工具:ImageOptim

一个根据linkMap文件计算Xcode里各个工程代码占安装包大小的工具:shell

未使用的方法排查:unused_funcs

尊重原创内容,转载请注明出处
本文链接地址: https://www.awnlab.com/archives/290

为您推荐

发表评论

邮箱地址不会被公开。 必填项已用*标注