Доступ к кэшированным изображениям из реализации LruCache

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

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

https://github.com/rdrobinson3/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 ответ

Решение

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

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

Другие вопросы по тегам