【发布时间】:2017-12-06 21:53:42
【问题描述】:
我想创建一个由共享首选项支持的 LRU 缓存。基本上我想存储特定数量的字符串(大约 20 个)并具有 LRU 行为。
我知道LinkedHashMap 是 java 中的 LRU,但有没有办法以一种干净的方式以某种方式在共享首选项中备份 LRU?
【问题讨论】:
-
如果您使用 Guava,他们会提供带有委托加载事件的地图:stackoverflow.com/questions/3802370/…
-
@eduyayo:我没有使用 Guava。
-
您可以为每个键或值添加时间戳,调用
mSharedPreferences.getAll()以查看所有键和值并使用remove().commit()删除最后一个。只要您没有太多元素,应该足够快。
标签: java android sharedpreferences linkedhashmap lru