Android Coil загружает старое изображение слишком рано при загрузке нового изображенияAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Android Coil загружает старое изображение слишком рано при загрузке нового изображения

Сообщение Anonymous »

Итак, у меня есть изображение, которое показано, и поверх этого изображения я загружаю другое изображение, например:

Код: Выделить всё

 AsyncImage(
modifier = modifier,
model = modelBuilder(
ImageRequest.Builder(LocalContext.current)
.data(image.url)
.loadWitchCache(image.url)
.let {
if (placeholder != null) {
it.fallback(placeholder).error(placeholder)
} else {
it
}
},
image.url,
).build(),
contentDescription = contentDescription,
alignment = alignment,
contentScale = contentScale,
)

fun ImageRequest.Builder.loadWitchCache(url: String): ImageRequest.Builder {
return this.diskCachePolicy(CachePolicy.ENABLED)
.diskCacheKey(url)
.memoryCachePolicy(CachePolicy.ENABLED)
.memoryCacheKey(url)
Проблема в том, что в приложении есть список изображений, которые пользователь может выбрать. Когда он выбирает изображение, оно рисуется. Проблема в том, что когда я выбираю новое изображение, происходит переход, при котором я не вижу ни старого, ни нового изображения. Я вижу изображение, которое является заполнителем под этим. Что интересно, когда пользователь выбирает одно и то же изображение второй или третий раз, этой задержки перехода нет, и все, что мы видим, это старое изображение и сразу же новое при загрузке.
Это приводит нас к выводу, что когда изображение кэшируется, оно берет его из кеша, и этой задержки нет. Но почему мы не можем сказать Coil, чтобы он делал это в любом случае и удалял старое изображение только тогда, когда загружается новое...
Я много чего пробовал, но ничего не помогало. Это должно быть каким-то образом.
Кто-нибудь знает, как это решить? Заранее спасибо...

Подробнее здесь: https://stackoverflow.com/questions/792 ... -new-image
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»