gpt4 book ai didi

android - Dalvik 类加载器之谜

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:00:21 25 4
gpt4 key购买 nike

我使用的是 Android 2.2 SDK,无法让 MultiUserChat 类中的静态 block 执行。我试图将其强制加载为

try 
{
String qual = MultiUserChat.class.getName();
ClassLoader.getSystemClassLoader().loadClass(qual);

} catch (ClassNotFoundException e) {

e.printStackTrace();
}

并且它总是命中 catch block 。 'qual' 获取类的有效名称...它可以是什么?

最佳答案

您的应用包括 ArrayList 和 Activity 等框架类,以及 FlashlightActivity 等应用程序类。框架类由系统类加载器(以及引导类加载器)加载;应用程序类由application 类加载器加载。

系统类加载器只能看到系统类。它不知道应用程序类路径,也不能用于加载应用程序类。您需要使用应用程序类加载器来执行此操作。获取对应用程序类加载器的引用的最简单方法是通过应用程序类:

try {
String qual = MultiUserChat.class.getName();
MyActivity.class.getClassLoader().loadClass(qual);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}

关于android - Dalvik 类加载器之谜,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8868151/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com