iOS - 项目优化之 轻量化包大小

2020-10-09  本文已影响0人  多喝热开水

1.资源文件的优化

图片

首先,找到自己打包后的ipa,然后右键,打开方式选择归档实用工具,就会解压出来一个文件夹,在Payload文件夹中找到当前ipa的app文件(基本就是和这个ipa名字一样的文件,app后缀系统默认隐藏),右键显示包内容,进入到文件夹内,按照大小进行排序,你会发现所有的资源,首先对图片进行优化,图片主要的大小应该维持到200k以内,需要采用无损压缩。图片压缩推荐使用ImageOptim。
压缩图片 不重要的图片可适当采用 8bit PNG图片

音频

视频

Assets

检查bundle中的无用文件,不要打包到app或者静态库中。可以点击文件,在右侧的file inspector里面的target membership中取消勾选;或者在build phase里面的Copy Bundle Resources中去掉。
确定 dead code(代码被定义但从未被调用)被剥离,build setting 里 DEAD_CODE_STRIPPING = YES。 去掉冗余的代码,即使一点冗余代码,编译后体积也是很可观的。

2.代码部分优化

通过appcode 打开对应的工程文件 选择 Code - > inspect Code 分析代码,去掉无用的引用及代码。(appcode真的很强大,连拼写错误都能分析出来,但是就是长的像安卓看起来很丑)

3.分析可执行文件

4.编译选项

  1. 编译器优化级别
    Build Settings->Optimization Level有几个编译优化选项,release版应该选择Fastest, Smalllest,这个选项会开启那些不增加代码大小的全部优化,并让可执行文件尽可能小。
  2. 去除符号信息
    Strip Linked Product / Deployment Postprocessing / Symbols Hidden by Default 在release版本应该设为yes,可以去除不必要的调试符号。Symbols Hidden by Default会把所有符号都定义成”private extern”,详细信息见官方文档
    这些选项目前都是XCode里release的默认选项,但旧版XCode生成的项目可能不是,可以检查一下。其他优化还可以参考官方文档—CodeFootprint.pdf

还有一些其他可选项可以使用,比如 精简代码,去除无用代码,整合冗余代码,修改类/方法名长度等等

大致上的轻量化方案有如下:


image.png
上一篇 下一篇

猜你喜欢

热点阅读