LruCache의 기본 사용 방법

Android에서는 LRU (least recently used) 라는 기본 캐시 정책을 제공합니다.이 정책을 바탕으로 저장 공간이 다 떨어지면 캐시가 최근에 가장 적게 사용한 대상을 지웁니다.
LruCache의 사용 예는 다음과 같습니다.
public class ImageCache {
    //  LruCache,   key        
    private LruCache mImageCache;

    ImageCache() {
        //               ,     KB
        final int maxMemory = (int)(Runtime.getRuntime().maxMemory() / 1024);

        //     1/4    
        final int cacheSize = maxMemory / 4;

        //   LruCache
        mImageCache = new LruCache(cacheSize) {
            //            
            @Override
            protected int sizeOf(String key, Bitmap bitmap) {
                return bitmap.getRowBytes() * bitmap.getHeight() / 1024;
            }
        };
    }

    //    
    public Bitmap getBitmap(String url) {
        return mImageCache.get(url);
    }

    //    
    public void putBitmap(String url, Bitmap bitmap) {
        mImageCache.put(url, bitmap);
    }
}

코드는 getBitmap과putBitmap 인터페이스를 직접 호출하여 데이터를 읽고 저장할 수 있습니다.LruCache 객체에 의해 독립적으로 수행되는 내부 캐시는 로직을 구현합니다.

좋은 웹페이지 즐겨찾기