LruCache一般使用:
/**
* 总容量为当前进程的1/8,单位:KB
* sizeOf():计算缓存对象的大小,单位要一致
* entryRemoved():移除旧缓存时调用
*/
int maxMemory = (int) (Runtime.getRuntime().maxMemory() / 1024);
int cacheSize = maxMemory / 8;
LruCache lruCache = new LruCache<String, Bitmap>(cacheSize) {
@Override
protected int sizeOf(String key, Bitmap value) {
return value.getRowBytes() * value.getHeight() / 1024;
} @Override
protected void entryRemoved(boolean evicted, String key, Bitmap oldValue, Bitmap newValue) {
super.entryRemoved(evicted, key, oldValue, newValue);
}
};
一般使用:
lruCache.put(K,V);
lruCache.get(K);
lruCache.remove(K);