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