阅读量:0
Android类加载的过程可以分为以下几个步骤:
加载(Loading):通过类的全限定名(包名+类名),找到对应的字节码文件(.class文件或者.dex文件),并将其读入到内存中。
链接(Linking):
- 验证(Verification):对字节码文件进行验证,确保其格式的正确性,以防止恶意代码的注入。
- 准备(Preparation):为静态变量分配内存空间,并设置默认初始值。
- 解析(Resolution):将类、接口、方法等符号引用转换为直接引用。
初始化(Initialization):对类进行初始化,包括执行静态变量赋值和静态代码块的初始化。
在Android中,类的加载由ClassLoader来完成。Android中的ClassLoader可以分为三个层次:Bootstrap ClassLoader、System ClassLoader和Application ClassLoader。其中,Bootstrap ClassLoader负责加载核心库,System ClassLoader负责加载系统类,而Application ClassLoader则负责加载应用程序的类。