2010-03-16 163 views
2

我一直試圖使用CacheManager來緩存一些http請求,但是每次都有一個空指針異常失敗。 一些挖後,我認爲我找到了原因:CacheManager.getCacheFileBaseDir()總是返回空

CacheManager.getCacheFileBaseDir()當我嘗試 使用CacheManager.getCacheFile()CacheManager.saveCacheFile() 他們失敗總是返回null左右。

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對象?

回答

0

似乎還有一個初始化(上下文的背景下)方法調用 但通過查看源代碼,這種方法是不公開的 我無法從我的代碼調用此方法。

我總是: 顯示java.lang.NullPointerException 在android.webkit.CacheManager.getCacheFile(CacheManager.java:295)