猿问

如何清空已使用 glide 加载的 Imageview

我试图在用户单击对象时动态加载图像视图。我试过了。

 if(mImage != null){ mImage.setImageURI(null);}
            Glide.with(itemView).load(imageString).into(mImage);

imagestring 是一个包含图像 url 的外部字符串。最好的方法是什么?


一只斗牛犬
浏览 439回答 3
3回答

一只甜甜圈

用这个Glide.with(this).clear(imageView);

qq_花开花谢_0

如果你想使用 Glide 清空 imageview 试试这个:  imageString="";   Glide.with(itemView).load(imageString).into(mImage);这对我有用。

一只萌萌小番薯

试试这个:imageView.setImageBitmap(null);此外,您还需要在存储图像时清除 Glide Cache。这就是我解决这个问题的方法。方法一:当图片改变时URL改变Glide.with(DemoActivity.this).load(Uri.parse("file://" + imagePath)).diskCacheStrategy(DiskCacheStrategy.NONE).skipMemoryCache(true).into(mImage);diskCacheStrategy() 可用于处理磁盘缓存,您可以使用 skipMemoryCache() 方法跳过内存缓存。方法2:当URL不变时,图像发生变化如果您的 URL 保持不变,那么您需要使用 Signature 进行图像缓存。 Glide.with(yourFragment) .load(yourFileDataModel) .signature(new StringSignature(yourVersionMetadata)) .into(yourImageView);Glide signature() 为您提供了将附加数据与缓存键混合的能力。如果您从媒体商店获取内容,您可以使用 MediaStoreSignature。MediaStoreSignature 允许您将媒体存储项目的日期修改时间、mime 类型和方向混合到缓存键中。这三个属性可靠地捕获编辑和更新,允许您缓存媒体存储拇指。您也可以 StringSignature 以及保存为文件的内容来混合文件日期修改时间。
随时随地看视频慕课网APP

相关分类

Java
我要回答