目录
一、Java中的ClassLoader回顾
Java中的ClassLoader回顾
类加载器加载流程:
二、Android中的ClassLoader作用详解
1、Android中ClassLoader的种类
a、BootClassLoader
b、PathClassLoader
c、DexClassLoader
d、BaseDexClassLoader
获取ClassLoader的方法:
private void getAllClassLoader() {
ClassLoader classLoader = getClassLoader();
if (classLoader != null) {
LogUtils.e(classLoader.toString());
while (classLoader.getParent() != null) {
classLoader = classLoader.getParent();
LogUtils.e(classLoader.toString());
}
}
}
2、Android中ClassLoader的特点
双亲代理模型的特点
类加载的共享功能
类加载的隔离功能
3、ClassLoader源码讲解
【Android热修复与插件化 三】ClassLoader详解
三、Android中的动态加载比一般Java程序复杂在哪里
Android中的动态加载难点:
- 有许多组件类需要注册才能使用
- 资源的动态加载很复杂
总之,问题就是:Android程序运行需要一个上下文环境
四、热修复详解
1、热修复的基本概念讲解
- 什么是热修复
- 热修复有哪些好处
- 有了热修复我们就可以高枕无忧了吗
2、当前市面上比较流行的几种热修复技术
- QQ空间的超级补丁方案
- 微信的Tinker
- 阿里的AndFix,dexposed
- 美团的Robust,ele的migo,百度的hotfix ...
3、方案对比以及技术选型
技术对比:
技术选型步骤:
- 我们的需求是什么,需求是衡量一切的标准
- 能满足需求的条件下,哪个的学习成本最低
- 学习成本一样的情况下,优先选择大公司的方案