Android对象缓存
问题内容:
寻找一个适用于Android(SDK 7+)类的简单开源非copyleft缓存。
目的主要是Bitmap
异步存储所获取的s(因此,我不需要将此功能包含在缓存类中)。
我为此目的使用了weakList,这自然是一个糟糕的解决方案,使用Guava缓存会更好一些,但仍然不够好。
最好是,缓存能够存储任何可序列化的对象Object
,而不仅仅是a Bitmap
,并且当对象添加到缓存中时,我可以轻松清除对象中使用的某些标记。
最好的选择是获取文件系统缓存,例如包装sqlite数据库。如果缓存将被清除,那就太好了Settings >Manage Application > Clear Cache
问题答案:
上面建议的普通LruCache是内存中缓存。从您的问题看来,您正在寻找磁盘缓存解决方案。
阅读缓存位图android培训文档的磁盘缓存。
然后看看以下线程上讨论的DiskLruCache实现: 在android4.0中使用DiskLruCache不提供openCache方法
您可以在GitHub上获取DiskLruCache源。