未验证 提交 6ac6f7e7 编写于 作者: J JessYan 提交者: GitHub

Merge pull request #300 from LegendaryMystic/master

Improve CacheStrategy
package com.jess.arms.http.imageloader.glide;
import android.support.annotation.IntDef;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
/**
* Incremental change is better than ambitious failure.
*
* @author : <a href="http://mysticcoder.coding.me">MysticCoder</a>
* @date : 2019/4/29
* @desc :0对应DiskCacheStrategy.all,1对应DiskCacheStrategy.NONE,2对应DiskCacheStrategy.SOURCE,3对应DiskCacheStrategy.RESULT
* see {@link com.bumptech.glide.load.engine.DiskCacheStrategy}
*/
public interface CacheStrategy {
int ALL = 0;
int NONE = 1;
int RESOURCE = 2;
int DATA = 3;
int AUTOMATIC = 4;
@IntDef({ALL,NONE,RESOURCE,DATA,AUTOMATIC})
@Retention(RetentionPolicy.SOURCE)
@interface Strategy{}
}
\ No newline at end of file
......@@ -63,19 +63,19 @@ public class GlideImageLoaderStrategy implements BaseImageLoaderStrategy<ImageCo
GlideRequest<Drawable> glideRequest = requests.load(config.getUrl());
switch (config.getCacheStrategy()) {//缓存策略
case 0:
case CacheStrategy.ALL:
glideRequest.diskCacheStrategy(DiskCacheStrategy.ALL);
break;
case 1:
case CacheStrategy.NONE:
glideRequest.diskCacheStrategy(DiskCacheStrategy.NONE);
break;
case 2:
case CacheStrategy.RESOURCE:
glideRequest.diskCacheStrategy(DiskCacheStrategy.RESOURCE);
break;
case 3:
case CacheStrategy.DATA:
glideRequest.diskCacheStrategy(DiskCacheStrategy.DATA);
break;
case 4:
case CacheStrategy.AUTOMATIC:
glideRequest.diskCacheStrategy(DiskCacheStrategy.AUTOMATIC);
break;
default:
......
......@@ -34,7 +34,7 @@ import com.jess.arms.http.imageloader.ImageLoader;
* ================================================
*/
public class ImageConfigImpl extends ImageConfig {
private int cacheStrategy;//0对应DiskCacheStrategy.all,1对应DiskCacheStrategy.NONE,2对应DiskCacheStrategy.SOURCE,3对应DiskCacheStrategy.RESULT
private @CacheStrategy.Strategy int cacheStrategy;//0对应DiskCacheStrategy.all,1对应DiskCacheStrategy.NONE,2对应DiskCacheStrategy.SOURCE,3对应DiskCacheStrategy.RESULT
private int fallback; //请求 url 为空,则使用此图片作为占位符
private int imageRadius;//图片每个圆角的大小
private int blurValue;//高斯模糊值, 值越大模糊效果越大
......@@ -68,7 +68,7 @@ public class ImageConfigImpl extends ImageConfig {
this.isClearDiskCache = builder.isClearDiskCache;
}
public int getCacheStrategy() {
public @CacheStrategy.Strategy int getCacheStrategy() {
return cacheStrategy;
}
......@@ -130,7 +130,7 @@ public class ImageConfigImpl extends ImageConfig {
private int placeholder;
private int errorPic;
private int fallback; //请求 url 为空,则使用此图片作为占位符
private int cacheStrategy;//0对应DiskCacheStrategy.all,1对应DiskCacheStrategy.NONE,2对应DiskCacheStrategy.SOURCE,3对应DiskCacheStrategy.RESULT
private @CacheStrategy.Strategy int cacheStrategy;//0对应DiskCacheStrategy.all,1对应DiskCacheStrategy.NONE,2对应DiskCacheStrategy.SOURCE,3对应DiskCacheStrategy.RESULT
private int imageRadius;//图片每个圆角的大小
private int blurValue;//高斯模糊值, 值越大模糊效果越大
/**
......@@ -173,7 +173,7 @@ public class ImageConfigImpl extends ImageConfig {
return this;
}
public Builder cacheStrategy(int cacheStrategy) {
public Builder cacheStrategy(@CacheStrategy.Strategy int cacheStrategy) {
this.cacheStrategy = cacheStrategy;
return this;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册