1

我想通过应用 Android LruCache 来提高我的应用程序速度并避免对服务器的大量调用。这是我的场景:

我创建了 2 个 LruCache 对象。

private LruCache<String, List<Items>> mListItemsCache;

private LruCache<String, Items> mItemsCache;

mItemsCache 将保存可以通过唯一 ID 字符串检索的所有项目的缓存。另一方面,mListItemsCache 将缓存所有不同的项目列表。每个列表都是基于 mItemsCache 上的可用项目构建的。

我的问题是从 mListItemsCache 或 mItemsCache 检索到的 Item 实际上是同一个 Object 吗?

由于put(K,V),每次将数据存储到LruCache时都会重复数据吗?

4

1 回答 1

0

我认为需要更多代码才能给您答案:什么是项目?您如何以字节为单位来衡量项目?为什么同一个项目需要两个缓存?

我会使用一个列表(对于 mListItemsCache),其中每个字符串都是缓存对象(mItemsCache)的键。因此,每当您将项目添加到缓存 (mItemsCache) 时,将键添加到列表 (mListItemsCache) 例如:mItemsCache.put(myKey, Items); mListItemsCache.add(myKey);

于 2012-12-01T12:29:28.310 回答