我一直在尝试使用CacheManager来缓存一些http请求,但每次都失败了,并出现了一个空指针异常。经过一番挖掘,我相信我找到了原因:
CacheManager.getCacheFileBaseDir()总是返回null,所以当我尝试使用CacheManager.getCacheFile()或CacheManager.saveCacheFile()时,它们会失败。
CacheManager.cacheDisabled()返回false。
我没有通过AVD管理器创建缓存分区,所以我认为问题出在那里。但是在创建缓存分区后,getCacheFile()仍然返回null:
03-16 00:25:16.321: ERROR/AndroidRuntime(296): Caused by: java.lang.NullPointerException
03-16 00:25:16.321: ERROR/AndroidRuntime(296): at android.webkit.CacheManager.getCacheFile(CacheManager.java:296)可能的问题是什么?我在这里发布了代码:http://pastebin.com/eaJwfXEK,但它有点乱,因为我已经尝试了大量的东西。
为什么CacheManager.getCacheFileBaseDir()返回null而不是文件对象?
发布于 2010-06-16 14:54:05
可能与http://code.google.com/p/android/issues/detail?id=7222相关: CacheManager只能与WebView关联使用。真扫兴。我会继续调查的。
发布于 2010-03-26 22:22:31
似乎有一个init(上下文上下文)方法要调用,但是通过查看源代码,这个方法不是公共的,我不能从我的代码中调用这个方法。
我一直都是: android.webkit.CacheManager.getCacheFile(CacheManager.java:295)的java.lang.NullPointerException
https://stackoverflow.com/questions/2455987
复制相似问题