我希望通过应用Android LruCache来提高我的应用程序速度并避免大量调用服务器。这是我的情景:
我创建了2个LruCache对象。
private LruCache<String, List<Items>> mListItemsCache;
private LruCache<String, Items> mItemsCache;
mItemsCache将保存可由唯一Id字符串检索的所有项目的缓存。另一方面,mListItemsCache将缓存所有不同的Items列表。每个列表都是基于mItemsCache上的可用项构建的。
我的问题是从mListItemsCache或mItemsCache检索的Item实际上是同一个Object吗?
由于put(K,V),每次存储到LruCache时数据是否会重复?
答案 0 :(得分:0)
我认为有必要为您提供更多代码答案: 什么是物品? 你怎么能用字节来衡量项目? 为什么同一个项目需要两个缓存?
我会使用List(对于mListItemsCache),其中每个String都是缓存对象(mItemsCache)的键。 因此,每当您将一个Item添加到缓存(mItemsCache)时,将该键添加到List(mListItemsCache) 例如: mItemsCache.put(myKey,Items); mListItemsCache.add(的myKey);