1 设置缓存:DiskCacheStrategy
skipMemoryCache :内存缓存策略
glide默认是打开内存缓存的,如果想关闭的话设置为true
true 关闭内存缓存,false 打开内存缓存(默认)
diskCacheStrategy:磁盘缓存策略
DiskCacheStrategy.NONE 关闭磁盘缓存
DiskCacheStrategy 的枚举意义:
DiskCacheStrategy.NONE: 表示不缓存任何内容。
DiskCacheStrategy.DATA: 表示只缓存原始图片。
DiskCacheStrategy.RESOURCE: 表示只缓存转换过后的图片。
DiskCacheStrategy.ALL : 表示既缓存原始图片,也缓存转换过后的图片。
DiskCacheStrategy.AUTOMATIC: 表示让Glide根据图片资源智能地选择使用哪一种缓存策略(默认选项)。
Glide的缓存资源分为两种:原始图片data 和经过压缩和变形等处理后的图片RESOURCE
源码默认 @NonNull private DiskCacheStrategy diskCacheStrategy = DiskCacheStrategy.AUTOMATIC;
//关闭内存缓存和磁盘缓存
RequestOptions options = new RequestOptions().skipMemoryCache(true).diskCacheStrategy(DiskCacheStrategy.NONE);
2 优先级设置
Priority的枚举:
public enum Priority {
IMMEDIATE,
HIGH,
NORMAL,
LOW,
}
源码默认 @NonNull private Priority priority = Priority.NORMAL;
RequestOptions options = new RequestOptions().priority(Priority.HIGH);
3设置占位图:
源码 设置drawable 或者是 resourceId
@Nullable private Drawable placeholderDrawable;
private int placeholderId;
public T placeholder(@Nullable Drawable drawable) {
return selfOrThrowIfLocked();
}
public T placeholder(@DrawableRes int resourceId) {
return selfOrThrowIfLocked();
}
//设置resourceId
RequestOptions options = new RequestOptions().placeholder(R.mipmap.ic_launcher);
//设置drawable
Drawable drawable = getResources().getDrawable(R.mipmap.ic_launcher);
RequestOptions options = new RequestOptions().placeholder(drawable);
4设置显示加载失败或者是加载错误图片
@Nullable private Drawable errorPlaceholder;
private int errorId;
@NonNull
@CheckResult
public T error(@Nullable Drawable drawable) {
return selfOrThrowIfLocked();
}
public T error(@DrawableRes int resourceId) {
return selfOrThrowIfLocked();
}
5重新设置图片的大小
必须添加:centerCrop()或fitCenter()才可以;
centerCrop()是将图片按照比例放大到imageview的尺寸;
fitCenter()是将图片按照比例缩小到imageview的尺寸;
6设置编码的格式以及编码的质量
public T encodeFormat(@NonNull Bitmap.CompressFormat format) {
return set(BitmapEncoder.COMPRESSION_FORMAT, Preconditions.checkNotNull(format));
}
三种格式
public enum CompressFormat {
JPEG (0),
PNG (1),
WEBP (2)
}
0到100
public T encodeQuality(@IntRange(from = 0, to = 100) int quality) {
return set(BitmapEncoder.COMPRESSION_QUALITY, quality);
}
7 设置图片的像素
默认的是ARGB_8888;
public T format(@NonNull DecodeFormat format) {
Preconditions.checkNotNull(format);
return set(Downsampler.DECODE_FORMAT, format).set(GifOptions.DECODE_FORMAT, format);
}
一共有两种
public enum DecodeFormat {
PREFER_ARGB_8888,
PREFER_RGB_565;
}
8 transforms 变换操作
比如将图片设置为圆角图片,圆弧图片,这个以后详解
可以参考这个Glide3升级到Glide4遇到的问题以及解决方法