============问题描述============
开发的时候发现明明初始化了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失败的问题
原文:http://www.cnblogs.com/liangxieliang56/p/4033828.html