首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android对象缓存

Android对象缓存
EN

Stack Overflow用户
提问于 2012-06-01 05:21:26
回答 7查看 7.9K关注 0票数 10

寻找一个简单的开源非版权左缓存的安卓(SDK 7+)类。

它的主要用途是存储异步获取的Bitmap(所以我不需要将此功能包含在缓存类中)。

为此,我使用了weakList,这自然是一个糟糕的解决方案,它的Guava缓存稍好一些,但仍然不是很好。

最好是缓存能够存储任何可序列化的Object,而不仅仅是Bitmap,而且在将对象添加到缓存时,我可以很容易地清除对象中使用的某些标记。

最佳选择是获取文件系统缓存,就像包装sqlite数据库一样。如果缓存将由Settings >Manage Application > Clear Cache清除,那就太好了

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2012-07-20 01:01:55

上面建议的普通LruCache是一个内存缓存。从您的问题看,您似乎正在寻找一种磁盘缓存解决方案。

请阅读缓存位图android培训文档的Disk Cache

然后看一下在以下线程中讨论的DiskLruCache实现:Using DiskLruCache in android 4.0 does not provide for openCache method

您可以在GitHub上获取DiskLruCache源代码。

票数 9
EN

Stack Overflow用户

发布于 2012-07-18 10:09:36

android.util.LruCache呢?如果您需要支持较旧的平台,只需将其复制到您的项目中。编辑:它实际上在compat/support库中。

票数 4
EN

Stack Overflow用户

发布于 2012-07-22 16:25:58

ICSDiskLruCache.java。这是在ICS和更高版本的Android中可用的DiskLruCache的一个端口,由谷歌开源,作为IO2012android应用程序的一部分,因此它可以与(至少) API level 7的版本一起工作。

http://code.google.com/p/iosched/source/browse/android/src/com/google/android/apps/iosched/util/ICSDiskLruCache.java上查找来源

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10841470

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档