缓存
- skipMemoryCache(true/false) 是否跳过内存缓存。
skipMemoryCache 这就表示Glide不会将图片放到内存缓存中。默认为false,所以使用时可以不用调用。
Glide.with(this)
.load("地址")
.skipMemoryCache(true)
.into(imageView);
当跳过内存缓存时,Glide仍会使用磁盘缓存来避免重复的网络请求。
Glide 不仅缓存了原始图像,还会缓存全分辨率图像和另外小版本的图像。比如,如果你请求的一个图像是 1000x1000 像素的,但你的 ImageView 是 500x500 像素的,Glide 将会把这两个尺寸都进行缓存。
如果一张图片具有相同的 URL,但是变化很快,你可能要连磁盘缓存也一起禁用。
- diskCacheStrategy 跳过磁盘缓存,采用枚举作为参数,参数如下。
参数 | 意思 |
---|---|
DiskCacheStrategy.NONE | 不缓存 |
DiskCacheStrategy.SOURCE | 仅仅只缓存原来的全分辨率的图像 |
DiskCacheStrategy.RESULT | 仅仅缓存最终的图像 |
DiskCacheStrategy.ALL | 缓存所有版本的图像 (默认) |
Glide.with(this)
.load("地址")
.diskCacheStrategy(DiskCacheStrategy.NONE)
.skipMemoryCache(true)
.into(imageView);
请求优先级
我们常常会有这样的需求,一块屏幕,要同时请求多张图片,但图片有优先级。Glide有这方面的处理。
- priority 图片加载的优先级。方法参数同样是枚举类型。
- Priority.LOW
- Priority.NORMAL
- Priority.HIGH
- Priority.IMMEDIATE
Glide.with(this)
.load("地址")
.priority(Priority.HIGH)
.into(imageView);