性能优化(十)-apk瘦身优化

424 阅读1分钟

1、apk简要分析

  • 有v7 v8的 库,并不是都要打
  • 用微信最新的martrix插件查看。
  • 会打3个包 image.png

2、AndResGuard 资源混淆

  • 没有设置多语言,打包依旧会有,String依旧有多语言
  • martrix这个项目要用。
  • 主要是面试要用。

3、无用信息检测

3.1 unused resource
  • Lint 反射 调资源会踩坑要注意
  • Android Matrix的实现方案分析
  • 把每个点的源码看一遍,可以尝试改一下
3.2 Matrix-Apkchecker
  • matrix-apk-cancary

先讲原理再讲怎么用 image.png 去调研 看别人的代码 优化代码 自己输出 解dex去拿的文件。 加一个图片过大的检测 image.png gradle\AppCheck里面去讲。

4、动态加载

  • 其实就是so文件可以放到服务端,可以减少包体积,要用再下载。这点拼多多很厉害
  • linker+soloader(自己实现)
  • Tinker 动态加载 image.png
  • BSDIFF bspatch增量更新

5、系统加载SO的流程:

  • PMS把对应的so copy到data/data/包名/lib
  • app启动,so文件的路径 传递到BaseDexClassLoader DexPathList
  • System.loadlibrary("xxx")

6、Tinker的so动态加载思路

将多个so合成一个文件。

System.loadLibrary还有System.load

image.png

动态加载放到简历去

性能优化+架构+业务逻辑复杂度

迅速接入到核心团队,架构,工程优化。不要碰UI的。