본문 바로가기
프로그래밍 놀이터/안드로이드, Java

[android] BItmapLruCache 구현하기. ( for Volley )

by 돼지왕 왕돼지 2013. 8. 6.
반응형


 안드로이드, BitmapLruCache 구현하기. for Volley

 


[android] BItmapLruCache 구현하기. ( for Volley )


Volley Tutorial 을 보면 NetworkImageView 를 사용할 떄 ImageCache를 대입하는 부분이 있는데,

아이러니하게도 Volley library 에서는 기본적인 ImageCache 를 제공하지 않는다.


그렇다면 우리가 구현해주어야 한다는 것인데, "그나마 친절하게도" Volley Library 에서 ImageCache 라는 interface 는 제공해준다. 이 녀석을 구현하기만 하면 된다.


import android.graphics.Bitmap;

import android.support.v4.util.LruCache;


import com.android.volley.toolbox.ImageLoader;


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


private static int getDefaultLruCacheSize() {

        int maxMemory = (int) (Runtime.getRuntime().maxMemory() / 1024);

        int cacheSize = maxMemory / 8;

        return cacheSize;

    }

public BitmapLruCache(){

super( getDefaultLruCacheSize() );

}

public BitmapLruCache(int maxSize) {

super(maxSize);

}


@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 );

}

}





도움이 되셨길~







반응형

댓글