我们知道Java虚拟机 —— JVM 是加载类的class文件的,而Android虚拟机——Dalvik/ART VM 是加载类的dex文件,

而他们加载类的时候都需要ClassLoader,ClassLoader有一个子类BaseDexClassLoader,而BaseDexClassLoader下有一个

数组——DexPathList,是用来存放dex文件,当BaseDexClassLoader通过调用findClass方法时,实际上就是遍历数组,

找到相应的dex文件,找到,则直接将它return。而热修复的解决方法就是将新的dex添加到该集合中,并且是在旧的dex的前面,

所以就会优先被取出来并且return返回。




相关文章:

  • 2021-09-24
  • 2021-10-08
  • 2021-11-13
  • 2021-11-12
  • 2021-10-10
  • 2022-01-19
  • 2021-08-27
猜你喜欢
  • 2021-05-24
  • 2021-10-08
  • 2021-11-13
  • 2021-06-27
  • 2021-10-09
相关资源
相似解决方案