java - Android 对象缓存

标签 java android caching

寻找适用于 Android (SDK 7+) 类的简单开源非 copyleft 缓存。

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

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

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

最好的选择是像包装 sqlite 数据库一样获取文件系统缓存。 如果可以通过 Settings >Manage Application > Clear Cache

清除缓存,那就太好了

最佳答案

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

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

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

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

关于java - Android 对象缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10841470/

相关文章:

android - 如何获取OkHttp响应码304的数据?

facebook - 我可以强制刷新 Facebook 对象的图像 URL 吗?

mysql - 在任何表更新时删除 ehcache

android - 保持 ListView 的第一项固定并在该项目之后从数据库添加数据

java - 无法在 Android Studio 中使用 getFont

java - 如何对 JSON 解析进行单元测试

java - Android 代码中扭曲的 Java 方法需要足够的关注

android - React Native 链接打开 Facebook Messenger

android - WebView 平滑滚动问题

java - 将 LibGdx 与 Google Play Services/BaseGameUtils (Gradle) 结合使用时出现错误