Когда я пытаюсь использовать метод Picasso fetch (), он сохраняет их в кеш, как и ожидалось, но некоторые из них нет - я получаю код ответа 304 при попытке их извлечь.К вашему сведению, у меня есть сценарии загрузки тысяч фотографий
Ниже приведен мой код, который я использую для извлечения и кэширования заданных URL-адресов фотографий:
private fun syncPhotos(urls: List<String>): Completable {
return Completable.create { emitter ->
if (urls.isEmpty()) {
emitter.onComplete()
} else {
val picasso = Picasso.get()
val counter = AtomicInteger(urls.size)
for (url in urls) {
picasso.load(url)
.resize(SQUARE_PHOTO_SIDE, SQUARE_PHOTO_SIDE)
.fetch(object : Callback {
override fun onSuccess() {
Timber.d("Photo caching success (counter=$counter)")
if (counter.decrementAndGet() == 0) {
emitter.onComplete()
}
}
override fun onError(e: Exception?) {
Timber.e(e, "Photo caching error (counter=$counter)")
if (counter.decrementAndGet() == 0) {
emitter.onComplete()
}
}
})
}
}
}
}
Таким образом, большинство из них выбираются, но странным образомпри попытке синхронизации некоторые запросы заполняются дополнительным заголовком «If-none-match» со странным значением id, например ex."c9a0fc4ec96738c08270054d78a3f96d"
Есть что-то, чего мне не хватает?