首页 > 代码库 > 使用DexClassLoader加载dex,已经加载的类遇到findLoadedClass失败的问题
使用DexClassLoader加载dex,已经加载的类遇到findLoadedClass失败的问题
============问题描述============
开发的时候发现明明初始化了dex中一个类的static变量,在后来获取的时候一直都是空的。
后来发现在loadClass的时候,findLoadedClass一直都返回空,所以怀疑问题是由于这个类被重复加载导致的,求问解决办法!!!
protected Class<?> loadClass(String className, boolean resolve) throws ClassNotFoundException {
Class<?> clazz = findLoadedClass(className);
if (clazz == null) {
try {
clazz = parent.loadClass(className, false);
} catch (ClassNotFoundException e) {
// Don‘t want to see this.
}
if (clazz == null) {
clazz = findClass(className);
}
}
return clazz;
}
============解决方案1============
如果你没有重写 ClassLoader, 那么你每次调用的 ClassLoader同一个吗是?
使用DexClassLoader加载dex,已经加载的类遇到findLoadedClass失败的问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。