我使用Jake Wharton's LRU disk cache存儲和retrive被顯示在ListView位圖。只要存儲並訪問同一活動中的位圖,此工作正常。但是,如果我嘗試從應用程序中的其他活動訪問緩存(即,所以我不必下載相同的圖像兩次),我得到一個NullPointerException。我在這裏錯過了什麼嗎?這不是內存緩存,文件可能會被刪除。不應該從應用程序中的所有活動中訪問磁盤緩存,只要我將它們指向內部存儲中的正確目錄即可?問題訪問LRU磁盤緩存翻過activites
01-14 22:53:44.465: E/AndroidRuntime(10720): java.lang.NullPointerException
01-14 22:53:44.465: E/AndroidRuntime(10720): at java.util.regex.Matcher.reset(Matcher.java:181)
01-14 22:53:44.465: E/AndroidRuntime(10720): at java.util.regex.Matcher.<init>(Matcher.java:94)
01-14 22:53:44.465: E/AndroidRuntime(10720): at java.util.regex.Pattern.matcher(Pattern.java:290)
01-14 22:53:44.465: E/AndroidRuntime(10720): at com.example.echofriendly.DiskLruCache.validateKey(DiskLruCache.java:629)
01-14 22:53:44.465: E/AndroidRuntime(10720): at com.example.echofriendly.DiskLruCache.get(DiskLruCache.java:375)
01-14 22:53:44.465: E/AndroidRuntime(10720): at com.example.echofriendly.DiskLruImageCache.containsKey(DiskLruImageCache.java:145)
01-14 22:53:44.465: E/AndroidRuntime(10720): at com.example.echofriendly.ChatroomFragment.getMessages(ChatroomFragment.java:309)
01-14 22:53:44.465: E/AndroidRuntime(10720): at com.example.echofriendly.ChatroomFragment.access$3(ChatroomFragment.java:284)
01-14 22:53:44.465: E/AndroidRuntime(10720): at com.example.echofriendly.ChatroomFragment$2.run(ChatroomFragment.java:94)
01-14 22:53:44.465: E/AndroidRuntime(10720): at java.lang.Thread.run(Thread.java:1019)
似乎它應該工作。你可以發佈NPE的堆棧跟蹤嗎? – kabuko
我將張貼堆棧跟蹤,當我下班回家 – Rarw