загружаю ли я изображение дважды или только один раз, если настрою новую загрузку Glide внутри onResource ready?

#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 , но это кажется таким медленным. вот почему я использую приведенный выше код