一.使用的前期准备:
1.在 app/build.gradle 文件当中添加相应的依赖包:
这里省略具体的版本,可以去网上自己搜索下当下比较新的版本即可。
2.在 AndroidManifest.xml 添加网络权限:
这是因为Glide里面需要有从网络上加载图片的权限,所以需要添加相应的网络权限。
<uses-permission android:name="android.permission.INTERNET" />
二.Glide的基本使用:
1.最基本的用法:
Glide.with(this)
.load(mUrl)
.into(mImageView);
解释说明:
this这里可以是对应的图片显示页面的载体,如Fragment、Activity,也可以传入Contex的实例或者ApplicationContext的实例等,这里需要结合具体的使用场景自己进行选择。
mUrl这里并不是特指Image的url地址,可以是网络图片、本地图片、应用资源、二进制流、URL对象等众多选项。
mImageView这里指的是需要将图片加载进来的控件的实例,一般是ImageView对应的实例。
2.占位图的使用:
Glide.with(this)
.load(mUrl)
.placeholder(R.drawable.loading)
.error(R.drawable.error)
.into(mImage);
解释说明:
其中placeholder()所传入的参数是图片未显示之前所展示的自置图片,error所传入的参数是图片加载失败所展示的自置图片。
3.指定图片的格式:
Glide.with(this)
.load(mUrl)
.asBitmap()
.into(mImageView);
Glide.with(this)
.load(mUrl)
.asGif()
.into(mImageView);
解释说明:
在默认的情况下,Glide会自动判断加载的图片的格式是静态图片还是动态图片。如果只允许加载静态图片,那么可以调用asBitmap(),如果加载的是动态图片,那么就只会显示它的第一帧;如果只允许加载动态图片,那么就可以调用asGif(),如果加载的是静态图片,那么就会显示error图片。
4.缓存策略的相关设置:
Glide.with(this)
.load(mUrl)
.diskCacheStrategy(DiskCacheStrategy.NONE)
.into(mImageView);
解释说明:
使用diskCacheStrategy(DiskCacheStrategy.NONE)可以禁止从缓存中加载图片,使用场景为:防止传入的图片的url所对应的后端更新了图片的信息,而自己这边加载的是缓存中没有更新的旧图片,从而导致数据的不一致现象。
5.指定图片的大小
Glide.with(this)
.load(mUrl)
.override(100, 100)
.into(mImageView);
解释说明:
一般情况下Glide会根据ImageView 的大小来自动适配加载图片的大小,并且不会产生内存浪费相关的问题(因为Glide不会直接将需要加载的图片的完整尺寸全部加载到内存中,只会根据需要多大就加载多大的原则),所以一般情况下是不需要用到override()这个方法。