前言:项目中有时候后端给我们提供的可能不是一个能直接访问的图片url(在浏览器中输入地址就能访问),而是一个下载地址(比如下文中的cloudBean.getIconUrl)。我们依然能够使用glide进行加载。
因为在列表中加载,故需要在适配中编写,废话不说,上代码:
Glide.with(mContext).asBitmap().load(cloudBean.getIconUrl())
.diskCacheStrategy(DiskCacheStrategy.RESOURCE).
.into(new BitmapImageViewTarget(holder.imageviewtwo) {
@Override
protected void setResource(Bitmap resource) {
if (resource != null) {
holder.imageviewtwo.setImageBitmap(resource);
return;
}
}
});
可以看出,glide帮我们做了很多工作:
①异步下载图片;
②自动帮助我们设置imageView的tag工作;
③设置缓存策略,当我们再次滑动到item时,此时若图片下载完毕,直接在本地获取;
④无需跨代码,代码优雅
上述介绍了异步的方式,其实下载图片,还有同步的方式,感兴趣的同学可以自行搜索相关内容。