麻烦各位大神帮我详解下什么是动态加载,如图这些个DexClassLoader等等具体是干啥,怎么跟工程联系起来的

谢谢
2025-06-28 08:00:44
推荐回答(1个)
回答1:

动态加载和使用类型

反射提供语言编译器(如 Microsoft Visual Basic 2005 和 JScript)用于实现隐式后期绑定的基础结构。 绑定是查找与唯一指定的类型相对应的声明(即实现)的过程。 如果此过程是在运行时而不是在编译时发生,则称其为“后期绑定”。 利用 Visual Basic 2005,可以在代码中使用隐式后期绑定;Visual Basic 编译器会调用一个帮助器方法,该方法使用反射来获取对象类型。 传递给帮助器方法的参数有助于在运行时调用正确的方法。 这些参数包括:对其调用方法的实例(对象),被调用方法的名称(字符串),以及传递给被调用方法的参数(对象数组)。
在下面的示例中,Visual Basic 编译器使用反射隐式地对其类型在编译时未知的对象调用方法。 HelloWorld 类具有一个 PrintHello 方法,它输出与传递给 PrintHello 方法的某些文本串联的“Hello World”。 在此示例中调用的 PrintHello 方法实际上是 Type.InvokeMember;Visual Basic 代码允许按照对象 (helloObj) 的类型在编译时已知(早期绑定)而不是在运行时已知(后期绑定)的方式来调用 PrintHello 方法。