Android之Lru缓存

1、初学者可以将Lru缓存理解成一个Map集合,底层是LinkedHashMap。特点:以空间换时间


使用步骤:

(1)创建对象

(2)保存对象进内存

(3)取出目标对象


public void method() {
int maxMemory = (int) Runtime.getRuntime().maxMemory(); // 获取设备的最大内存
int cacheSize = maxMemory / 4; // 一版设置缓存为内存的1/4
mCache = new LruCache<String, Bitmap>(cacheSize) {
@Override
protected int sizeOf(String key, Bitmap value) { // 每次有内容进缓存,都会调用此方法
return value.getByteCount(); // 返回该对象的大小,告知内存管理器
}
};
}

public void addBitmapToCache(String url, Bitmap value) {
if (getBitmapFromCache(url) == null)
mCache.put(url, value);
}

public Bitmap getBitmapFromCache(String url) {
return mCache.get(url);
}

只需要在合适的位置调用上述两个方法即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值