为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

一只斗牛犬 2022-04-28 15:50:52
我试图在用户单击对象时动态加载图像视图。我试过了。 if(mImage != null){ mImage.setImageURI(null);}             Glide.with(itemView).load(imageString).into(mImage);imagestring 是一个包含图像 url 的外部字符串。最好的方法是什么?
查看完整描述

3 回答

?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

用这个

Glide.with(this).clear(imageView);


查看完整回答
反对 回复 2022-04-28
?
qq_花开花谢_0

TA贡献1835条经验 获得超7个赞

如果你想使用 Glide 清空 imageview 试试这个:

  imageString="";
  Glide.with(itemView).load(imageString).into(mImage);

这对我有用。


查看完整回答
反对 回复 2022-04-28
?
一只萌萌小番薯

TA贡献1795条经验 获得超7个赞

试试这个:


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 以及保存为文件的内容来混合文件日期修改时间。


查看完整回答
反对 回复 2022-04-28
  • 3 回答
  • 0 关注
  • 438 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号