Как реализуется кэширование изображений в Android - Volley?Android

Форум для тех, кто программирует под Android
Anonymous
Как реализуется кэширование изображений в Android - Volley?

Сообщение Anonymous »

Из того, что я понимаю, нам нужно предоставить реализацию кэша LRU и передать то же самое, что и конструктор на загрузчик изображения.
Существует также кэш на основе диска по умолчанию, присутствующий в Volley . Этот кэш на основе диска используется для кэширования ответов HTTP. < /P>
Какой кэш будет использоваться, когда загруженное изображение содержит заголовки кэша? Class = "Lang-Java PrettyPrint-Override">public class BitmapLruCache extends LruCache implements ImageLoader.ImageCache
{
public static int getDefaultLruCacheSize() {
final int maxMemory = (int) (Runtime.getRuntime().maxMemory() / 1024);
final int cacheSize = maxMemory / 8;

return cacheSize;
}

public BitmapLruCache() {
this(getDefaultLruCacheSize());
}

public BitmapLruCache(int sizeInKiloBytes) {
super(sizeInKiloBytes);
}

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

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

@Override
public void putBitmap(String url, Bitmap bitmap) {
put(url, bitmap);
}
}
< /code>
Это вызов, который используется для установки изображения в сетевом представлении < /p>
ImageLoader mImageLoader = new ImageLoader(ApplicationController.getInstance().getRequestQueue(), new BitmapLruCache());
holder.imageicon.setImageUrl(i.getThumb_image(), mImageLoader);


Подробнее здесь: https://stackoverflow.com/questions/212 ... oid-volley

Вернуться в «Android»