加载图像时缓存包装器

Cache Wrapper when loading Image

我有一张由特定 URL 标识的图片,要获取此图片,请求 URL 需要时间戳和签名参数(签名基于其他参数)。 URL 每次客户端请求时都会更改,因为它取决于时间戳和签名。 所以使用Glide加载图片时如下:

Glide.with(mContext).load(url).into(imageView);

问题是,使用相同的图像,但它加载了很多次并一遍又一遍地缓存(因为不同url)

我想构建一个缓存包装器来覆盖缓存键的 equals 方法,但我不知道如何从 Glide 开始

非常感谢,如果有人能提供帮助

谢谢

最后我自定义了 GlideUrl 来满足我的要求

public class GlideUrlKey extends GlideUrl {
    public GlideUrlKey(URL url) { super(url); }
    public GlideUrlKey(String url) { super(url); }
    public GlideUrlKey(URL url, Headers headers) { super(url, headers); }
    public GlideUrlKey(String url, Headers headers) { super(url, headers); }

    @Override public String getCacheKey() {
        String url = toStringUrl();
        if (url.contains("fl_id") && url.contains("fl_rel")) {
            String tempUrl = url.substring(0, url.lastIndexOf("&data%5Bsign%5D"));
            if (tempUrl.length() == 0) {
                tempUrl = url.substring(0, url.lastIndexOf("data[sign]") - 1);
                if (tempUrl.length() == 0) {
                    tempUrl = url.substring(0, url.lastIndexOf("fl_rel"));
                }
            }
            return tempUrl;
        } else {
            return url;
        }
    }
}