欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android LruCache的使用方法

程序员文章站 2022-03-31 10:29:15
LRU 最近最少使用 LruCache采用这种算法进行内存的缓存的移除 内部采用LinkedHashMap以强引用的方式存储外界的缓存对象,实现比较简单 LruCache的初...

LRU 最近最少使用

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

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

LruCache的初始化

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

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

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

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