issues
search
MicroKibaco
/
CrazyDailyQuestion
每日一问: 水滴石穿,聚沙成塔,坚持数月, 必有收获~
35
stars
1
forks
source link
2019-12-31:热修复框架如何解决Davik虚拟机下类的pre-verify问题?有哪些优缺点?
#64
Open
MicroKibaco
opened
4 years ago
MicroKibaco
commented
4 years ago
热修复框架
解决方式
优势
缺陷
QQ空间
每个类中插入一个来自其他
dex
的
hack.class
,由此让所有类都无法满足
pre-verifed
条件
不建议使用
侵入打包流程,无法新增public函数,臃肿,实现起来不优雅
Tinker
合成全量
dex
文件,所有的类都在全量
dex
中解决,从而消除类重复冲突
对dex内容的比较粒度过细,实现较为复杂,性能消耗严重,空间替换时间性价比不高
大大减少空间
QFix
获取虚拟机中的某些底层函数,提前解析所有补丁类
使用简单
无法新增public函数,无法获取虚拟机底层函数,不够稳定可靠
dex
的hack.class
,由此让所有类都无法满足pre-verifed
条件dex
文件,所有的类都在全量dex
中解决,从而消除类重复冲突