Glide加载默认图片后setImageBitmap无效问题
Glide.with(this).load(“aaaaaaa”).apply( RequestOptions().placeholder(R.drawable.logo)).into(civ_avator)
上面这行代码,由于 url 地址无效,会加载默认占位图 R.drawable.logo 。
当在这个 Activity 或者 Fragment 中直接给这个 civ_avator 设置图片时(如:civ_avator.setImageBitmap(bitmap))
你会发现并没有设置成功,但是 debug 跟踪已经设置成功了。
这是因为 Glide 在加载失败时,会调用重试方法,导致当你设置图片成功后,Glide 的加载充实方法会将默认占位图重新设置到这个 civ_avator 上,这样就出现了图片设置成功,但仍显示 Glide 默认占位图
解决方法:
- 在直接设置图片之前,先调用 Glide 的 clear() 方法,取消加载失败重试,然后在设置图片即可
Glide.with(this).clear(civ_avator)
- 使用 Glide 去加载图片
Glide.with(this).load(“aaaaaaa”)