Я использую FRESCO 2.5 и загружаю изображение для URL в Android ImageView. , к сожалению, я не могу использовать SimpleDrawee. Br /> Я мог бы создать одновременную карту, где я помещаю URL и Imagerequest в карту. И если ImageRequest для URL не существует ничего не делать, и при завершении или сбое удалить запись с карты. У Glide есть такой хороший класс requestManager, который обрабатывает все это. Я удивлен, что у Фрески нет такой вещи. < /P>
Возможно, я что -то пропустил в документации, которая уже делает это. У меня есть такой код, который пока не выполняет никаких операций карты. < /p>
private fun loadImageUsingFresco(
url: String,
imageView: ImageView,
callback: IImageLoadedCallback?,
) {
val startTime = SystemClock.elapsedRealtime()
val imageRequest = ImageRequestBuilder.newBuilderWithSource(Uri.parse(url)).build()
val dataSource =
Fresco.getImagePipeline().fetchDecodedImage(imageRequest, imageViewContext)
dataSource.subscribe(
object : BaseBitmapDataSubscriber() {
override fun onNewResultImpl(bitmap: Bitmap?) {
if (dataSource.isFinished && bitmap != null) {
runOnUiThread {
imageView.setImageBitmap(bitmap)
callback?.onSuccess()
}
}
}
override fun onFailureImpl(dataSource: DataSource) {
callback?.onFailure(url)
}
},
CallerThreadExecutor.getInstance(),
)
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... -imageview
Дедупликация запроса на загрузку изображения фрески при использовании Imagerequest и ImageView ⇐ Android
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение