寻找
Android(SDK 7)类的简单开源非Copyleft缓存.
目的是保存异步读取的位图(因此我不需要将此功能包含在缓存类中).
我正在使用一个weakList来达到这个目的,那当然是一个糟糕的解决方案,Guava缓存有点好一点但还是不错.
最好缓存能够存储任何可序列化的对象,而不仅仅是一个位图,并且我可以轻松地清除对象添加到缓存时使用的某个标签的对象.
最好的选择是让文件系统缓存像包装sqlite数据库.
如果缓存被“设置>管理应用程序>清除缓存
解决方法
上面提到的普通LruCache是内存缓存.从你的问题看来,你正在寻找一个磁盘缓存解决方案.
阅读Disk Cache的Caching Bitmaps android training doc.
然后看看在以下线程上讨论的DiskLruCache实现:
Using DiskLruCache in android 4.0 does not provide for openCache method
你可以在GitHub上找到DiskLruCache源码.