如果我在onResource内设置了新的Glide下载,我该下载图像两次还是仅下载一次?

问题描述

我有两个彼此重叠的图像视图。底部是模糊的图像视图,顶部只是普通图像视图。我们希望用户以1:1的比例上传图片,但是如果不是1:1的图片,则会显示模糊的图片视图,并使其看起来更好一些。

enter image description here

两个imageView的图像源(imagePath)是相同的。我使用Firebase Storage,因此下载的图像数量会影响我的账单。所以基本上我想避免两次下载同一张图片

因此对于基本的imageView,我照常使用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?,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,但它看起来太慢了。那就是为什么我使用上面的代码

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)