Glide是作为一个快速高效的Android图片加载库,几乎能满足日常对远程图片的拉取/缩放/显示的一切需求。使用起来也很方便,常见用法,也就一行代码就ok:
Glide.with(this)
.load(url)
.placeholder(R.drawable.placeholder)
.into(view);
从 Glide 4.3.0 开始,可以为请求失败的图片url重新设置新的备用的url地址,这个可以根据自己项目需求来设置,具体设置方法如下:
Glide.with(fragment).load(primaryUrl)
.error(Glide.with(this).load(fallbackUrl))
.into(imageView);
其中fallbackUrl为备用url,当primaryUrl请求错误,或者为null的时候会调用fallbackUrl来加载图片。
Glide 可以使用thumbnail 方法来设置加载图片的缩略图,可以指定一张缩略图的url,也可以和目标原图共用一个url。在原图加载完毕之前可以优先展示缩略图,这样有更好的用户体验。
Glide.with(fragment).load(url)
.thumbnail(Glide.with(this).load(thumbnailUrl))
.into(imageView);
可以通过在thumbnail()
方法中设置一个新的RequestBuilder
来加载缩略图url。当然在实际项目中,如果服务端并没有返回缩略图链接的话,也可以使用override
或 sizeMultiplier
方法在原图的基础上加载一个地分辨的图片。
.thumbnail(Glide.with(fragment).load(localUri).override(thumbnailSize))
.thumbnail(/*sizeMultiplier=*/ 0.25f)
如果现在产品有这样一个需求,在特定的情况下,只加载缓存中的图片,如果没有缓存则加载图片失败用默认图代替,比如常见的省流量模式,你可以这样设置
.skipMemoryCache(true)