1、apk简要分析
- 有v7 v8的 库,并不是都要打
- 用微信最新的martrix插件查看。
- 会打3个包
2、AndResGuard 资源混淆
- 没有设置多语言,打包依旧会有,String依旧有多语言
- martrix这个项目要用。
- 主要是面试要用。
3、无用信息检测
3.1 unused resource
- Lint 反射 调资源会踩坑要注意
- Android Matrix的实现方案分析
- 把每个点的源码看一遍,可以尝试改一下
3.2 Matrix-Apkchecker
- matrix-apk-cancary
先讲原理再讲怎么用
去调研 看别人的代码 优化代码 自己输出
解dex去拿的文件。
加一个图片过大的检测
gradle\AppCheck里面去讲。
4、动态加载
- 其实就是so文件可以放到服务端,可以减少包体积,要用再下载。这点拼多多很厉害
- linker+soloader(自己实现)
- Tinker 动态加载
- 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
动态加载放到简历去
性能优化+架构+业务逻辑复杂度
迅速接入到核心团队,架构,工程优化。不要碰UI的。