Я разрабатываю функцию, при которой пользователю необходимо иметь доступ к некоторым личным изображениям, когда они не работают.
В настоящее время мне удалось сохранить модель данных, которая включает URL-ссылку на изображение. Когда я покидаю службу, я не могу просмотреть изображение, потому что могу предоставить только Glide URL-адрес для загрузки, и именно здесь я хотел бы получить кэширование изображения.
Я попытался пройтись по Glide, чтобы предварительно установить все изображения, чтобы они всегда были доступны в кэше, а не только если пользователь их просматривал.
RequestOptions options = new RequestOptions()
.diskCacheStrategy(DiskCacheStrategy.ALL)
.priority(Priority.HIGH);
//loop through all the certs with Glide
for (int i = 0; i < responseData.getallCerts().size(); i++){
Glide.with(this)
.load(responseData.getallCerts().get(i).getUrl())
.apply(options);
}
Затем я попытался включить режим полета и посмотреть, загрузятся ли они ..
Glide.with(this)
.load(url)
.apply(options)
.error(Glide.with(this)
.load(url))
.into(cert_image);
Этот код кажется неправильным, но в остальном я не уверен, как добраться до кеша.
Некоторые вопросы, которые могут возникнуть в связи с этим, хотя я надеюсь получить ответ, а не обсуждение.
- Нужно ли создавать загрузчик фоновых изображений, сохранять изображения во внутреннем хранилище, а затем вызывать их для прямой загрузки по ссылке при сбое Glide? Плюс сравните их измененные данные, чтобы решить, нужно ли мне синхронизироваться?
- Постоянно пытается хранить изображения в кеше при каждой неудачной загрузке
практика? Там никогда не будет более 20 изображений, но, вероятно,
ближе к 5 в среднем.
Я понимаю, что Glide должен быть в состоянии сделать это, и это сэкономило бы мне массу времени, чтобы избежать создания всей системы синхронизации сохраненных изображений.