热修复的原理
Posted ganchuanpu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了热修复的原理相关的知识,希望对你有一定的参考价值。
我们知道Java虚拟机 —— JVM 是加载类的class文件的,而android虚拟机——Dalvik/ART VM 是加载类的dex文件,
而他们加载类的时候都需要ClassLoader,ClassLoader有一个子类BaseDexClassLoader,而BaseDexClassLoader下有一个
数组——DexPathList,是用来存放dex文件,当BaseDexClassLoader通过调用findClass方法时,实际上就是遍历数组,
找到相应的dex文件,找到,则直接将它return。而热修复的解决方法就是将新的dex添加到该集合中,并且是在旧的dex的前面,
所以就会优先被取出来并且return返回。
以上是关于热修复的原理的主要内容,如果未能解决你的问题,请参考以下文章