Ссылка Android Lrucache / объект дублируется или нет?
Я хочу увеличить скорость своих приложений и избежать тяжелых звонков на сервер с помощью Android LruCache. Вот мой сценарий:
Я создал 2 объекта LruCache.
private LruCache<String, List<Items>> mListItemsCache;
private LruCache<String, Items> mItemsCache;
mItemsCache будет хранить кэш всех элементов, которые могут быть получены по уникальной строке Id. С другой стороны, mListItemsCache будет кэшироваться из всех различных элементов списка. Каждый список строился на основе доступных элементов в mItemsCache.
Мой вопрос заключается в том, что элемент, который был получен из mListItemsCache или mItemsCache, на самом деле является одним и тем же объектом?
Будут ли данные дублироваться каждый раз, когда они были сохранены в LruCache из-за пут (K,V)?
1 ответ
Я думаю, что потребуется больше кода, чтобы дать вам ответ: что такое Предметы? Как вы можете измерить элементы в байтах? Зачем вам два кеша для одного предмета?
Я хотел бы использовать список (для mListItemsCache), где каждая строка является ключом к объекту кэша (mItemsCache). Таким образом, всякий раз, когда вы добавляете элемент в кеш (mItemsCache), добавляйте ключ в список (mListItemsCache), например: mItemsCache.put(myKey, Items); mListItemsCache.add(MYKEY);