android缓存的机制

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

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

缓存其实不要想得那么复杂。一般情况下都是在类建个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(); } }; }


有了以上的资料,剩下的都是业务逻辑问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值