Доступ к кэшированным изображениям из реализации LruCache - PullRequest
0 голосов
/ 14 ноября 2018

У меня есть GridView с изображениями, и я заполнил его, используя Volley, и кэшировал изображения, используя ссылки ниже.Я хочу получить доступ к выбранному изображению GridView в новом действии из кэшированной реализации.Я искал здесь на StackOverflow, но не мог найти, как получить доступ к кэшированным изображениям, используя их ключ (в этом случае URL).Я перешел по этим ссылкам, но ничего не смог найти:

Кастомизация залпа Джейка Уортонса

VolleyImageCacheExample

Есть ли у меняиспользовать тот же объект LruCache, созданный в объекте ImageLoder во втором действии, или есть какой-либо другой способ?

Объект Imageloader в классе Singleton

Это реализация по умолчанию дляИспользуется объект LruCache.Если кто-то может объяснить, используя приведенный ниже код?

imageLoader = new ImageLoader(requestQueue, new ImageLoader.ImageCache() {

        private final LruCache<String, Bitmap> cache = new LruCache<>(10);

        @Override
        public Bitmap getBitmap(String url) {
            return cache.get(url);
        }

        @Override
        public void putBitmap(String url, Bitmap bitmap) {
            cache.put(url, bitmap);
        }
    });

Предполагая, что у меня есть собственный класс BitmapCache, который расширяет LruCache и реализует ImageCache, подскажите, пожалуйста, как я могу получить доступ к кэшу во 2-м действии для доступа к кэшированным изображениям

public class LruCacheClass extends LruCache<String,Bitmap> implements ImageLoader.ImageCache {

public LruCacheClass(int maxSize) {
    super(maxSize);
}



@Override
protected int sizeOf(String key, Bitmap value) {
    return value.getRowBytes() * value.getHeight();
}



@Override
public Bitmap getBitmap(String url) {
    return get(url);
}

@Override
public void putBitmap(String url, Bitmap bitmap) {

    put(url, bitmap);

}}

1 Ответ

0 голосов
/ 15 ноября 2018

Я нашел ответ здесь

Причина была в том, что я изменил размер ImageView при получении изображения из кэша. Кэш возвращает только изображение того размера, который был первоначально сохранен.

...