package com.michaldabski.panoramio.utils;
import android.annotation.TargetApi;
import android.graphics.Bitmap;
import android.os.Build;
import android.util.LruCache;
import com.android.volley.toolbox.ImageLoader;
/**
* Created by Michal on 08/08/2014.
*/
public class LruImageCache extends LruCache<String, Bitmap> implements ImageLoader.ImageCache
{
public LruImageCache()
{
super(getOptimalCacheSize());
}
@Override
public Bitmap getBitmap(String url)
{
return get(url);
}
@Override
public void putBitmap(String url, Bitmap bitmap)
{
put(url, bitmap);
}
public void clear()
{
evictAll();
}
@TargetApi(Build.VERSION_CODES.KITKAT)
@Override
protected int sizeOf(String key, Bitmap value)
{
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT)
return value.getByteCount();
else
return value.getAllocationByteCount();
}
public static int getOptimalCacheSize()
{
long maxMemory = Runtime.getRuntime().maxMemory();
return (int) (0.4f * maxMemory);
}
}