DiskCacheStrategy.NONE
什么都不缓存DiskCacheStrategy.SOURCE
仅仅只缓存原来的全分辨率的图像DiskCacheStrategy.RESULT
仅仅缓存最终的图像,即降低分辨率后的(或者是转换后的)DiskCacheStrategy.ALL
缓存所有版本的图像(默认行为)
仅仅缓存原来的全分辨率的图像
Glide.with(this).load(url).diskCacheStrategy(DiskCacheStrategy.SOURCE).into(imageView);
加载圆形图片需要重写一个类
GlideRoundTransform
import android.content.Context; import android.content.res.Resources; import android.graphics.Bitmap; import android.graphics.BitmapShader; import android.graphics.Canvas; import android.graphics.Paint; import android.graphics.RectF; import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool; import com.bumptech.glide.load.resource.bitmap.BitmapTransformation; /** * Created by SensYang on 2017/05/25 10:13 */ public class GlideRoundTransform extends BitmapTransformation { private static float radius = 0f; public GlideRoundTransform(Context context) { this(context, 4); } public GlideRoundTransform(Context context, int dp) { super(context); this.radius = Resources.getSystem().getDisplayMetrics().density * dp; } @Override protected Bitmap transform(BitmapPool pool, Bitmap toTransform, int outWidth, int outHeight) { return roundCrop(pool, toTransform); } private static Bitmap roundCrop(BitmapPool pool, Bitmap source) { if (source == null) return null; Bitmap result = pool.get(source.getWidth(), source.getHeight(), Bitmap.Config.ARGB_8888); if (result == null) { result = Bitmap.createBitmap(source.getWidth(), source.getHeight(), Bitmap.Config.ARGB_8888); } Canvas canvas = new Canvas(result); Paint paint = new Paint(); paint.setShader(new BitmapShader(source, BitmapShader.TileMode.CLAMP, BitmapShader.TileMode.CLAMP)); paint.setAntiAlias(true); RectF rectF = new RectF(0f, 0f, source.getWidth(), source.getHeight()); canvas.drawRoundRect(rectF, radius, radius, paint); return result; } @Override public String getId() { return getClass().getName() + Math.round(radius); } }
调用方法:
Glide.with(mcontext).load(HttpConfig.MAIN_HOST + HttpConfig.URL_POSTER_01_GET).transform(new GlideRoundTransform(mcontext, 20)).into(holder.image);
需要更深入理解的请看大神:
http://blog.youkuaiyun.com/u013278099/article/details/50459128