Android LruCache的使用

LRU 最近最少使用

LruCache采用这种算法进行内存的缓存的移除

内部采用LinkedHashMap以强引用的方式存储外界的缓存对象,实现比较简单


LruCache的初始化

int maxMemory = (int) (Runtime.getRuntime().maxMemory() / 1024);
int cacheSize = maxMemory / 8;
LruCache<String,Bitmap> mMemoryCache = new LruCache<String,Bitmap>(cacheSize) {
    @Override
    protected int sizeOf(String key, Bitmap value) {
        return value.getRowBytes() * value.getHeight() / 1024;
    }
};

value.getRowBytes() 是bitmap每一行占的空间


从中获取删除就是正常的map操作了。


有时间一定要看看他的源码!因为Android3.1开始,他就是Android源码的一部分了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值