#android #kotlin #android-glide
#Android #kotlin #android-glide
Вопрос:
У меня есть два вида изображений, накладывающихся друг на друга. база — это размытое изображение, а верхняя часть — просто обычный вид изображения. мы ожидаем, что пользователь загрузит изображение с соотношением 1: 1, но если оно не 1: 1, то появится размытое изображение, и оно будет выглядеть немного лучше.
источник изображения ( imagePath
) для обоих просмотров изображений одинаков. Я использую хранилище Firebase, поэтому количество загруженных изображений повлияет на мой платеж. поэтому в основном я хочу избежать загрузки одного и того же изображения дважды.
итак, для базового просмотра изображений я использую glide как обычно. но для размытого просмотра изображения. Я вызываю это внутри onResourceReady
. используя приведенный ниже код, загружаю ли я изображение дважды или только один раз? особенно код внутри onResourceReady
, я не уверен, что это повторно загружает изображение с сервера или использует изображение из кэша.
вот код, который я использую
val imagePath = "http://www.imagePathIsTheSame.com/photo.jpg"
Glide.with(mContext)
.load(imagePath)
.error(R.drawable.eventempty)
.listener(object : RequestListener<Drawable> {
override fun onLoadFailed(e: GlideException?, model: Any?, target: Target<Drawable>?, isFirstResource: Boolean): Boolean {
recommendedEventViewHolder.blurryImageView.setImageDrawable(null)
return false
}
override fun onResourceReady(resource: Drawable?, model: Any?, target: Target<Drawable>?, dataSource: DataSource?, isFirstResource: Boolean): Boolean {
Glide.with(mContext)
.load(imagePath)
.apply(bitmapTransform(BlurTransformation(25, 3))) // add blur effect
.into(recommendedEventViewHolder.blurryImageView)
return false
}
})
.into(recommendedEventViewHolder.posterImageView)
Я могу использовать это resource:Drawable
из onResourceReady
, но это кажется таким медленным. вот почему я использую приведенный выше код