美文网首页
App包体积优化思路

App包体积优化思路

作者: 转岗做JAVA | 来源:发表于2021-08-12 17:01 被阅读0次

iOS端思路:

代码优化

  • 分析link map文件删除无效代码,可以借助LinkMap工具。
    通过比对__objc_classrefs和_objc_classname之间的差异,可以筛选出很可能未被使用的类;
    通过比对__objc_selrefs和_objc_methname之间的差异,可以筛选出很可能未被使用的方法;
    考虑到动态性,尤其是永安plugin方法全是动态调用,比对结果需要人工一一审查确认。

Link Map介绍详见:https://www.jianshu.com/p/52e0dee35830
实践时发现并没有这么简单,并没有正确比对出哪些文件不再需要。

  • 可以的话开启bitcode,反之将不支持的cpu架构从第三方库中移除。

资源优化:

  • 审查工程或安装包中的各个文件,删除冗余和不再使用的资源文件,可以借助工具LSUnusedResourcesFengNiao

  • 能不使用1x图就不使用,尽可能使用2x和3x图,虽然会导致开发包变大,但对于App Store的用户来说,体积会变小(iOS 9+ App Slicing的机制)。

  • 形状相同颜色不同的单色图片,使用tint color+灰度图来处理,对于支持多主题的App效果会明显一些。

  • 使用On-Demand Resource,将一些可按需加载的资源托管在服务器上。

On-Demand Resource详见:https://www.jianshu.com/p/bacedd8a3ad8

编译优化

  • 尝试开启Link Time Optimization(LTO)为incremental。Dead Stripped Symbols会受到影响变少,所以有可能会使包体积不减反增。

LTO:https://www.jianshu.com/p/58fef052291a

持续优化&监控

  • 超级App按业务模块进行大小监控,督促并推进“性价比”低的业务进行代码优化。同时,也要对版本差异大小进行监控,让包体积大小变得可控。

模块大小可以按照工程模块目录将link map中每个文件的大小聚合计算获取。

相关文章

  • App包体积优化思路

    iOS端思路: 代码优化 分析link map文件删除无效代码,可以借助LinkMap[https://githu...

  • 包体积瘦身

    包体积是什么 包体积优化前,先要明白包体积是什么,在app store上看到的体积又是什么。在app store里...

  • App优化--包体积

    Android 安装包优化--减小安装包体积[https://www.jianshu.com/p/4c691322...

  • IOS App体积优化篇

    接上篇《Android App体积优化篇 》IOS的App的体积过大达到了ipa安装包达到了84.1M的体积,提出...

  • Android App安装包瘦身计划

    Android App安装包瘦身计划 Android App安装包体积优化: 理由, 指标和可以采用的方法. 本文...

  • Android App包体积优化

    目录: 一、为什么我们需要做 APK 的体积优化? 二、APK 组成 三、APK分析 四、代码体积优化 五、资源体...

  • 4. armeabi,armeabi-v7a,arm64-v8a

    最近,我们公司的APP,要做包体积的优化,其中一个方面就是so包的优化。对于so包的知识点,不是很清楚,特地来整理...

  • 包体积优化

    为什么需要优化包体积 下载转化率,包体积增加不利于用户下载 推广成本,包体积增大推广成本也会加大 应用市场限制 包...

  • 包体积优化

    1.删除无用图片资源https://github.com/tinymind/LSUnusedResources2....

  • 包体积优化

    Aandroid的安装包APK文件本身就是个压缩文件,把后缀改成.zip,解压后,能看到安装包的内容包括 要减少安...

网友评论

      本文标题:App包体积优化思路

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