使用DexClassLoader加载dex,已经加载的类遇到findLoadedClass失败的问题 if (clazz == null) { clazz = findClass(className); }在这里你只获取了 class,没有加入到你的类缓存里吧,你是怎么使用 findLoadedClass(className);查找的? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 怎么加入缓存呢?这个应该都是ClassLoader自己去实现的,不可能是自己加入缓存。我贴的是ClassLoader的源码。 你的 findLoadedClass 的代码呢?发上来看看 ClassLoader里面声明为final的protected final Class<?> findLoadedClass(String className) { ClassLoader loader; if (this == BootClassLoader.getInstance()) loader = null; else loader = this; return VMClassLoader.findLoadedClass(loader, className); } 无语了,我没有继承DexClassLoader,没有重写任何一个方法,所有的方法都是源码里面的。 如果你没有重写 ClassLoader, 那么你每次调用的 ClassLoader同一个吗是? 是同一个,就new出来一个。 想问个应用内置收费的问题 Android初学者的学习笔记(陆续更新) 关于activity和view中的ontouchevent的问题 长按menu键默认出现的弹出输入法界面如何取消? android中listview中的布局问题 android手机解锁失败? 电子书应用开发 andoird源码修改问题 安卓问题 onCheckedChanged的入口参数buttonView 请问android直接post请求登录地址成功后,webview还是现实登录界面 我用真机测试android,logcat输出停不下来,怎么回事
ClassLoader里面声明为final的protected final Class<?> findLoadedClass(String className) {
ClassLoader loader;
if (this == BootClassLoader.getInstance())
loader = null;
else
loader = this;
return VMClassLoader.findLoadedClass(loader, className);
}
是同一个,就new出来一个。