Мне нужно отобразить анимированное изображение из сети. Поскольку загрузка анимированных изображений может занять много времени, я хочу отобразить другое изображение (легкое и статичное), также из сети, на его месте в качестве заполнителя. После предварительной загрузки анимированного изображения я хочу заменить статическое изображение новым анимированным изображением.
Сейчас я загружаю статическое изображение с помощью simpleDraweeView.setImageUriOrGone(staticImagePath) и сразу же я предварительно загружаю анимированное изображение следующим образом:
Код: Выделить всё
val imageRequest = ImageRequest.fromUri(animatedImagePath)
val imagePipeline = Fresco.getImagePipeline()
val dataSource: DataSource = imagePipeline.prefetchToDiskCache(imageRequest, context)
Обычно я показываю анимированное изображение следующим образом:
Код: Выделить всё
val controller = Fresco.newDraweeControllerBuilder()
.setUri(uri)
.setAutoPlayAnimations(true)
. // other setters
.build();
simpleDraweeView.setController(controller);
Я знаю, что могу подписаться на источник данных и слушать onNewResultImpl(), как здесь, но что тогда я могу сделать, чтобы отобразить анимированное изображение? Источник данных, который дает предварительная выборка, не имеет ClosableReference, и я не знаю, как получить доступ к предварительно выбранному изображению
Подробнее здесь:
https://stackoverflow.com/questions/791 ... ing-fresco