Можно ли использовать пользовательский ключ кэша при предварительной загрузке изображений с Glide? - PullRequest
0 голосов
/ 23 февраля 2020

Я немного новичок в использовании Glide и мне нужно больше понимать предварительную загрузку. Некоторые из моих URL имеют токены доступа, которые будут периодически меняться. Я хотел бы кэшировать изображения на основе их базового URL без токенов. По этой причине я реализовал пользовательский GlideUrl.

, взятый из https://github.com/bumptech/glide/issues/501#issuecomment -114177101

public class GlideUrlNoToken extends GlideUrl {
    public GlideUrlNoToken(String url) {
        super(url);
    }

    public GlideUrlNoToken(String url, Headers headers) {
        super(url, headers);
    }

    public GlideUrlNoToken(URL url) {
        super(url);
    }

    public GlideUrlNoToken(URL url, Headers headers) {
        super(url, headers);
    }

    @Override
    public String getCacheKey() {
        String url = toStringUrl();
        if (url.contains("?")) {
            return url.substring(0, url.lastIndexOf("?"));
        } else {
            return url;
        }
    }
}

При предварительной загрузке изображений необходимо установить пользовательский ключ кеша для тех, кто? Я не смог найти примеры для этого.

Glide.with(context)
    .load(yourUrl)
    .diskCacheStrategy(DiskCacheStrategy.SOURCE)
    .preload();

Мне просто нужно убедиться, что предварительно загруженные изображения не попадают на диск с токенами, которые являются частью URL.

...