Android 中的 ClassLoader 继承关系:
双亲委派模型:
在 Android 系统中,应用程序中默认的 ClassLoader
是 PathClassLoader
对象,即通过Context.getClassLoader()
获取到的是一个 PathClassLoader
对象,而 PathClassLoader
对象的parent
是BootClassLoader
。
在 Android 系统中查找类的流程: PathClassLoader.loadClass()
--> BaseDexClassLoader.findClass()
--> DexPathList.findClass()
–> 在一个for
循环中遍历 Element[] dexElements
数组 --> 执行每一个 element.findClass()
方法,如果某一个element