我一直在尝试使用CacheManager缓存一些http
请求,但每次都失败,并带有nullpointer异常。后
一些挖掘,我相信我发现了原因:

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而不返回File对象?

最佳答案

可能与http://code.google.com/p/android/issues/detail?id=7222相关:只能将CacheManager与WebView关联使用。笨蛋我将继续调查。

关于android - CacheManager.getCacheFileBaseDir()始终返回null,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2455987/

10-10 10:03