美文网首页性能优化
iOS APP优化-ipa瘦身

iOS APP优化-ipa瘦身

作者: 齐云霄霄 | 来源:发表于2022-02-16 09:17 被阅读0次

    APP达到一定体量后,瘦身是必经之路。各路大佬也都有优秀的文章,我自己也记录下方便以后查找,不对的地方也请大佬们评论区指正。

    资源优化

    1. 删除无用资源

      • 重复的图片:1.名字一样 2.名字一样但是文件一样
      • 未使用的图片、音频、视频、plist文件等
      • 类似Readme这种无用文件
      • @1x的图片
    2. 资源压缩

      • 图片无损/有损压缩(imageoptimizer压缩工具)
      • 音频压缩(降低采样率)
      • H5资源包压缩
      • 使用Assets.xcassets来管理图片
    3. H5页面远端化(参考饿了么)

    4. 动态下载资源:字体、图片、配置数据等非必须资源

    编译选项优化

    Build Settings编译选项

    1. Optimization level设置为Fastest, Smallest[-Os](指定被编译代码的执行速度和二进制文件大小的优化程度
    2. Strip Debug Symbols During Copy设置为YES(copy时剥离二进制符号
    3. Strip Link Product 设为YES(控制是否剥离
    4. Make Strings Read-Only设为YES(复用字符串字面量
    5. Linking->Dead Code Stripping设为YES(消除无效代码
    6. Deployment Postprocessing 设为YES(参考链接
    7. Symbols hidden by default 设为YES(release时去除不必要的调试符号)(参考链接
    8. Enable bitcode 设为YES
    9. 去掉异常支持
      • Enable C++ Exceptions和Enable Objective-C Exception设为NO
      • 可以对默写文件单独支持异常,编译选项加上-fexceptions即可
      • 不能去掉,否则线程回溯就没了,会影响到崩溃日志的生成
    10. 所有没有使用C++动态性的lib库

    可执行文件优化

    1. 去掉未使用的第三方库
    2. 整理重复的第三方库
    3. 去掉未使用的代码
      • 未使用的类
      • 未使用的方法/函数
      • 空函数可以删掉,比如仅实现了[super function]这种
    4. 整理重复代码
    5. 代码中很长的字符串抽离(提升压缩比率)
    6. 其他
      • 删除Framework中无用mach-O文件
      • 尽量少的使用属性,减少getter和setter
      • 用C函数代替OC函数

    相关文章

      网友评论

        本文标题:iOS APP优化-ipa瘦身

        本文链接:https://www.haomeiwen.com/subject/bfbrlrtx.html