天天看点

Android图片缓存之Glide基础(一)

前言

这篇文章给大家介绍下android目前使用比较广泛的一个图片缓存库—Glide,这个库是google的一位开发人员在github上的一个开源项目。目前google的一些官方应用都在使用它,所以你现在就开始放心的用吧。

添加Glide

在module的build.gradle中添加以下依赖:

Glide使用方法和大名鼎鼎的Picasso比较类似,如果你有Picasso的使用经验,那么你将很容易上手使用。

常用功能

//占位符
Glide.with(this).load(url).placeholder(R.mipmap.ic_launcher).into(imageview);
//错误占位符
Glide.with(this).load(url).error(R.mipmap.ic_launcher).into(imageview);
//强制显示淡入淡出功能,表示动画时间ms
Glide.with(this).load(url).crossFade().into(imageview);
//不要淡入淡出效果
Glide.with(this).load(url).dontAnimate().into(imageview);
//改变图片大小,单位是pixel
Glide.with(this).load(url).override(,).into(imageview);
//Glide可以直接显示Gif
Glide.with(this).load(gif_url).into(imageview);
//也可以只显示Glide的第一帧作为普通图片使用
Glide.with(this).load(gif_url).asBitmap().into(imageview);
//也可以强制显示Gif,如果目标url不是gif则调用error()方法
Glide.with(this).load(gif_url).asGif().into(imageview);
//还可以显示视频,但目前只支持本地视频
Glide.with(this).load(Uri.fromFile(new File(local_video_path))).into(imageview);
           

高级功能

//跳过内存缓存,只在磁盘缓存(默认false)
Glide.with(this).load(url).skipMemoryCacge(true).into(imageview);
//跳过磁盘缓存,只在内存缓存(NONE表示什么都不缓存)
Glide.with(this).load(url).diskCacheStrategy(DiskCacheStrategy.NONE).into(imageview);
//显示缩略图(显示原始图像的%)
Glide.with(this).load(url).thumbnail(f).into(imageview);
           

下载bitmap

private SimpleTarget<GlideDrawable> mTarget = new SimpleTarget<GlideDrawable>() {
        @Override
        public void onResourceReady(GlideDrawable resource, GlideAnimation<? super GlideDrawable> glideAnimation) {
            //处理resource
        }
    };

private void loadFile(){
    Glide.with(this).load("url").into(mTarget);
}
           

以上这些只是笔者目前用过的一些功能总结,后面还有更多更高级的功能文章还没涉及到,可以参考github上的项目主页。