例如对 网络加载图片进行缓存 :
// 得到 应用程序 被分配的最大的内存
int maxMemory=(int) Runtime.getRuntime().maxMemory();
// 取处内存的 1/5 用来当 缓存 大小
int cachSize=maxMemory/5;
// 实例化 LruCache
lruCache=new lruCache<String, Bitmap>(cachSize){
//内部方法sizeOf设置每一张图片的缓存大小
protected int sizeOf(String key, Bitmap value) {
//在每次存入缓存时调用,告诉系统这张缓存图片有多大
// 相当于 为每次 要缓存的 资源 分配 大小空间
return value.getByteCount();
}
};
上面的 代码 一般 放在初始化的 方法 里面
其实 可以将 LurCache 类 理解 为 Map 类 map 有 put和 get 方法
接下去就调用put 和 get 方法 进行需要缓存资源的存取
LurCache 的 add :
public void putBitmapToCache(String url,Bitmap bitmap){
if (getBitmapfromCache(url)==null) {//判断当前缓存是否存在
lruCache.put(url, bitmap);
}
}
LurCache 的 get:
public Bitmap getBitmapfromCache(String url){
return lruCache.get(url);//可将lruCache看成map
}
调用上面的 add 和 get 方法 就可以对资源进行缓存的 ,还是挺简单的,
但要注意一点 LruCache lruCache=new LruCache<String, Bitmap>(cachSize) 只能被new 一次 ,不然不同对象就不同的缓存了
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。