android缓存的机制

来源:互联网 发布:北京软件招聘 编辑:程序博客网 时间:2024/05/21 14:42

我在获取网络视频的缩略图时首次使用了缓存,

缓存其实分为三种缓存,一个是内存,本地,网络。

缓存其实不要想得那么复杂。一般情况下都是在类建个new  ArrayList<a,b>(a表示key,b表示你要缓存的东西)。

然后在类里面写两个方法(1.判断没有缓存,没有就添加。2.获取缓存)

   public void addToCache(String path, Bitmap bitmap) {        if (getToCache(path) == null) {            //当前地址没有缓存时,就添加            lruCache.put(path, bitmap);        }    }    public Bitmap getToCache(String path) {        return lruCache.get(path);    }



  这个是类的构造方法
@SuppressLint("NewApi")    public MyLoader() {
//获取最大的运行内存
int maxMemory = (int) Runtime.getRuntime().maxMemory(); int maxSize = maxMemory / 4; lruCache = new LruCache<String, Bitmap>(maxSize) { @Override protected int sizeOf(String key, Bitmap value) { //这个方法会在每次存入缓存的时候调用 return value.getByteCount(); } }; }

有了以上的资料,剩下的都是业务逻辑问题。