热修复核心原理-ClassLoader

欢迎来到小伟博客

本章主要介绍类加载器,不做热修复整体讲解,后期进行系统讲解更新。

art和dalvik

davlvik:是google开发用于运行在java虚拟机里面的,支持转换为.dex文件运行。
art: 4.4以后引入的开发者选项,AOT字节码编译成机器码运行。会导致安装速度慢,执行效率会变快
4.4之前用的是JIT,事实编译运行,空间小,运行慢

CLASSloader(双亲委托机制)

1.SecureClassLoader (java中用)
2.BaseDexClassLoader(android用)
   BootClassLoader(加载系统类)
     PathClassLoader(真实文件,系统用,默认保存opt优化odex文件)
   InMemoryDexClassLoader(内存中文件即数组,8.0以后出现)
   DexClassLoader(我们用,指定保存opt优化odex文件)
   总结:类加载最终加载是由C处理

如何进行热修复的?

观看源码找到DexElements里面存储的是 dex数组加载的时候按照顺序加载dex文件,只要把修复的dex插入到数组前面就能进行修复,正常加载是从第一个加载,找到类后不会往下查找。
qq空间热修复:
[添加链接描述](https://mp.weixin.qq.com/s?__biz=MzI1MTA1MzM2Nw==&mid=400118620&idx=1&sn=b4fdd5055731290eef12ad0d17f39d4a)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值