Glide高级使用技巧解决缓存key问题,防止反复加载

参考资料:https://muyangmin.github.io/glide-docs-cn/doc/caching.html

 

业务需求:

列表逐个轮训获取视频流中第一帧的截图,虽然每次返回的图片URL都是不同的,但是图像没有改变.导致每次刷新都没有使用到glide缓存机制,出现重复加载浪费资源的情况

分析:

首先glide源码4.8.0版本中,默认缓存key是通过model,signature,widthd,height,transformations等属性共同作用的

 

model其实就是我们传入的url字符串

那么可以从model这个变量入手,改造model,使其满足我们的业务需要

import com.bumptech.glide.load.model.GlideUrl;

public class MyGlideUrl extends GlideUrl {

    private String eventId;

    public MyGlideUrl(String url,String eventId) {
        super(url);
        this.eventId = eventId;
    }

    @Override
    public String getCacheKey() {
        return eventId;
    }


}

封装自己的url类,并根据业务需要重写getCacheKey()方法

 

MyGlideUrl myGlideUrl = new MyGlideUrl(picUrl,event.getId());
Glide.with(cext)
    .load(myGlideUrl)
    .apply(requestOptions)
    .into(holder.eventIv);

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值