安卓对象缓存

10

寻找一个简单的开源非Copyleft缓存类,用于Android(SDK 7+)。

主要目的是为了存储异步获取的Bitmap文件(因此不需要在缓存类中包含此功能)。

我之前使用的是weakList,但这显然是一个糟糕的解决方案。现在试用了Guava cache,虽然比之前好一些,但仍然不够理想。

最好能够缓存任何可序列化的Object对象,而不仅仅是Bitmap;并且在将对象添加到缓存时,可以轻松地清除特定标签的对象。

最佳选择应该是获得文件系统缓存,就像包裹sqlite数据库一样。如果缓存可以通过设置>应用管理>清除缓存来清除,那将是非常棒的。


我认为Android没有任何缓存系统。 - kosa
7个回答

9

2
我赞同这个观点。Jake Wharton 是一位优秀的开发者。 - shkschneider

4

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


Guava缓存似乎更灵活,我现在更喜欢使用文件系统缓存,不过感谢你的提示。 - A-Live
一篇关于Android讨论图像缓存选项的文章。 - krishnakumarp

3

该文件可以在以下网址找到:https://github.com/google/iosched/blob/f4fd7504d43b25a75cc23b58d6f844f3553b48c3/android/src/com/google/android/apps/iosched/util/ICSDiskLruCache.java - Hassan Ibraheem

2

1


1
我建议您使用广泛使用的、以前被称为droid-fu的重构和非常强大的库,名为ignition。 ignition库主要由Qype的首席移动开发人员Matthias Käppler维护。该库具有缓存框架和RemoteImage Widget(以及许多其他有用的类)。此外,它还准备好了Maven,因此很容易添加依赖项。请查看缓存javadoc: http://kaeppler.github.com/ignition-docs/ignition-support/apidocs/

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接