设置资源将被加载到的Target。
18、into(ImageView view)
设置资源将被加载到的ImageView。取消该ImageView之前所有的加载并释放资源。
19、into(int width, int height)
后台线程加载时要加载资源的宽高值(单位为pixel)。
20、 preload(int width, int height). 预加载resource到缓存中(单位为pixel)。
21、 asBitmap()
无论资源是不是gif动画,都作为Bitmap对待。如果是gif动画会停在第一帧。
注意:先load()再asBitmap(),不然报错!(与Glide4有区别)
22、asGif()
把资源作为GifDrawable对待。如果资源不是gif动画将会失败,会回调.error()。
23、dontTransform()
表示让Glide在加载图片的过程中不进行图片变换,这样applyCenterCrop()、applyFitCenter()就统统无效了,显示原图大小
24、downloadOnly()直接下载
清空缓存
禁止内存缓存:
.skipMemoryCache(true)
清除内存缓存:
// 必须在UI线程中调用
Glide.get(context).clearMemory();
禁止磁盘缓存:
.diskCacheStrategy(DiskCacheStrategy.NONE)
清除磁盘缓存:
// 必须在后台线程中调用,建议同时clearMemory()
Glide.get(applicationContext).clearDiskCache();
直接获得Bitmap
有些时候我们并不希望把图片放入ImageView中。我们只要 Bitmap 本身。Glide 提供了一个用 Targets 的简单的方式去接受图片资源的 Bitmap。Targets 是回调函数,它在 Glide 做完所有的加载和处理之后返回结果。
方法1
Glide.with(this).load(url).asBitmap().into(newSimpleTarget() {
@Override
public voidonResourceReady(Bitmap resource, GlideAnimation<? super Bitmap>glideAnimation) {
//resource即是获得的Bitmap
}
});
方法2
Bitmap bitmap =Glide.with(MainActivity.this).load(url).asBitmap().into(500, 500).get();
该方式只能在子线程中获得
下载图片到本地
- 使用downloadOnly下载
new Thread(new Runnable() {
@Override
public void run() {
FutureTarget fileFutureTarget = Glide.with(UIUtils.getContext())
.load(url)
.downloadOnly(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL);
try {
final File file = fileFutureTarget.get();
runOnUiThread(new Runnable() {
@Override
public void run() {
mPath.setText(file.getPath());
}
});
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}
}
}).start();
get()方法会造成线程阻塞,要放在子线程
- 获得bitmap对象
new Thread(new Runnable() {
private Bitmap b