前言
随着APP不断的开发迭代,安装包也会变得越来越大。冗余的东西总会让人觉得不舒服,对于代码用洁癖的开发者,肯定是不能忍受的。废话不多说!
资源优化
删除无用资源
- 删除1X图片资源,因为IPhone4以下的机型不需要适配了。
- 删除重复的图片资源。
- 删除无用的资源,包括不适用的图片、类文件、三方库等、音频、视频、字体库等。
- 空函数,无用函数或者代码删除掉。
资源压缩
- 对大图片进行无损压缩处理。
- .xcassets管理图片资源。它会把里边的所有png格式的图片压缩成一个Assets.car文件,压缩比率比其他方式管理图片要高。
- 大型数据远程化,包括H5资源、大量数据等
编译选项优化
这个最有用的一个选项是Deployment Postprocessing
和Strip Linked Product
,两个需要都设置为YES才有用。
原理是打开这两个选项后构建ipa会去除掉symbol符号,就是那些类名啊函数名啊啥的。这样子的影响就是运行时你没法进行线程回溯,符号都没了回溯了也是乱码。但是不会影响正常的崩溃日志生成和解析。在本机专门测试过,如果使用符号表来解析崩溃日志,则完全不受影响。