面试题之热修复原理

热修复的工作原理

1、经过多重的类加载器DexClassLoader的分析后,从当中获取Element数组对应的类之后在加载,然后采用数组遍历,遍历出一个个的dex文件。
2、执行for循环,对dex文件处理,获取class文件。
3、我们将打包修复好的补丁dex文件放入Element数组的第一个元素中,这样就能保证获取到的class是最新修复好的class了。

(而有bug的class也存在的,不过放到了Element数组的最后一个元素中了,没机会被拿到)

在这里插入图片描述

我其实很想对那些面试官说一句:

你们不要再问我热修复的工作原理了,这东西无非就是循环遍历dex文件获取class文件,然后加载替换对应的class来实现所谓的更新修复功能,那其实跟下载补丁包到本地来替换对应的有问题的补丁包中的class文件有什么区别呢,都是一样的原理,非要说的这么高深,何必呢!

参考文档:https://www.jianshu.com/p/cb1f0702d59f

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值