ClassLoader种类:
-BootClassLoader
-PathClassLoader
-DexClassLoader
-BaseDexClassLoader
BootClassLoader: 主要用于加载系统的类,包括java和android系统的类库。 (例如TextView、Context等)
PathClassLoader: 加载安装应用里面的字节码文件。
DexClassLoader:指定目录中的字节码class文件。
BaseDexClassLoader:是PathClassLoader和DexClassLoader的父类
总结:
- 通过上面的介绍,得知:一个应用至少会有两个classLoader类,BootClassLoader用于加载系统类
- 另一个是PathClassLoader,加载我们APP里面的类,路径是固定的,只能加载/data/app中的apk,所以无法实现动态加载
- 当然我们也可以添加DexClassLoader,实现热修复和动态加载
- 无论哪个类加载器加载后,都会缓存到内存中去,下次直接在内存中获取
类加载流程
类加载的特点
-双亲代理模型特点
-类加载共享功能
-类加载的隔离功能</