iOS-APP性能优化-安装包瘦身

安装包瘦身

在上一篇启动优化中,有分析过项目中所有的代码、资源都在XX.app包里面,将来Xcode会将这个XX.app包压缩成一个ipa文件,然后上传到AppStore提供给用户下载,如果项目越来越大,那么这个ipa文件就会越来越大。
为了给安装包(IPA)瘦身,我们就要知道安装包有哪些文件组成:
安装包(IPA)主要由可执行文件、资源组成。

安装包瘦身方式:

  • 对于资源(图片、音频、视频等)

    1. 采取无损压缩
    2. 去除没有用到的资源:https://github.com/tinymind/LSUnusedResources
  • 对于可执行文件:

    1. 编译器优化
      Strip Linked ProductMake Strings Read-OnlySymbols Hidden by Default设置为YES(现在的项目已经默认为YES了,一些老项目可能还会为NO

    2.去掉异常支持
    Enable C++ ExceptionsEnable Objective-C Exceptions设置为NOOther C Flags添加-fno-exceptions

    3.利用AppCode(https://www.jetbrains.com/objc/)检测未使用的代码
    菜单栏 -> Code -> Inspect Code

    4.编写LLVM插件检测出重复代码、未被调用的代码(这种方式比较高级也比较难)

    5.生成LinkMap文件,可以查看可执行文件的具体组成,如下图:

如果项目比较大,分析LinkMap文件就会比较麻烦,我们可以借助第三方工具解析LinkMap文件:https://github.com/huanxsd/LinkMap

它其实是个Mac项目,我们下载下来,运行项目 -> 选择文件 -> 点击开始,就能显示每个文件占用多大,我们就能根据文件有目的性的进行优化。如下图:

贴一个安装包瘦身的实践方案:iOS安装包瘦身 - 全部实测

你可能感兴趣的:(iOS-APP性能优化-安装包瘦身)