CrazyDailyQuestion
CrazyDailyQuestion copied to clipboard
2019-12-31:热修复框架如何解决Davik虚拟机下类的pre-verify问题?有哪些优缺点?
热修复框架 | 解决方式 | 优势 | 缺陷 |
---|---|---|---|
QQ空间 | 每个类中插入一个来自其他dex 的hack.class ,由此让所有类都无法满足pre-verifed 条件 |
不建议使用 | 侵入打包流程,无法新增public函数,臃肿,实现起来不优雅 |
Tinker | 合成全量dex 文件,所有的类都在全量dex 中解决,从而消除类重复冲突 |
对dex内容的比较粒度过细,实现较为复杂,性能消耗严重,空间替换时间性价比不高 | 大大减少空间 |
QFix | 获取虚拟机中的某些底层函数,提前解析所有补丁类 | 使用简单 | 无法新增public函数,无法获取虚拟机底层函数,不够稳定可靠 |