美文网首页
Glide详解

Glide详解

作者: kjy_112233 | 来源:发表于2018-09-20 18:07 被阅读0次

一、Glide使用

(1)在build.gradle中添加依赖

dependencies {
    compile 'com.github.bumptech.glide:glide:4.6.1'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.6.1'
}

(2)Glide方法

  • 常用方式
        Glide.with(this)
                .load(imageUrl)
                .into(imageView);
  • placeholder:请求过程中显示。当请求成功完成时,占位符会被请求到的资源替换。
        Glide.with(this)
                .load(imageUrl)
                .placeholder(R.mipmap.ic_launcher)
                .into(imageView);
  • fallback:请求为null时展示
        Glide.with(this)
                .load(imageUrl)
                .fallback(R.drawable.ic_launcher_s)
                .into(imageView);
  • error:请求失败时展示,请求为null无fallback时展示;请求失败重新请求
        Glide.with(this)
                .load(imageUrl)
                .error(R.drawable.ic_launcher_s)
                .into(imageView);

        Glide.with(this)
                .load(imageUrl)
                .error(Glide.with(this).load(imageUrl))
                .into(imageView);
  • override:设置图片尺寸
        Glide.with(this)
                .load(imageUrl)
                .override(800, 800)
                .into(imageView);
  • thumbnail:主url加载完成后替换缩略图;如主url先加载完毕,则不显示缩略图
        Glide.with(this)
                .load(imageUrl)
                .thumbnail(0.1f)//加载图片百分比缩略图
                .into(imageView);

        Glide.with(this)
                .load(imageUrl)
                .thumbnail(Glide.with(this).load(thumbnailUrl))//缩略图的url
                .into(imageView);

        Glide.with(this)
                .load(imageUrl)
                .thumbnail(Glide.with(this).load(imageUrl).override(800, 800))//同一个url,设置图片尺寸
                .into(imageView);


  • FitCenter:Image完全显示,尺寸不对时,周围会留白。
        Glide.with(this)
                .load(imageUrl)
                .fitCenter()
                .into(imageView);
  • CircleCrop:Image圆形显示,以短边为直径,取中间位置。
        Glide.with(this)
                .load(imageUrl)
                .circleCrop()
                .into(imageView);
  • CenterCrop:Image正方形显示,以短边为边长,取中间位置。
        Glide.with(this)
                .load(imageUrl)
                .centerCrop()
                .into(imageView);
  • onlyRetrieveFromCache:仅从缓存加载图片,如果图片不再缓存,那么就会加载失败。
        Glide.with(this)
                .load(imageUrl)
                .onlyRetrieveFromCache(true)
                .into(imageView);
  • skipMemoryCache:跳过内存缓存
        Glide.with(this)
                .load(imageUrl)
                .skipMemoryCache(true)
                .into(imageView);
  • diskCacheStrategy:设置缓存策略
  • DiskCacheStrategy.ALL:远程图片同时保存原始图片和修改后的图片;本地图片仅保存修改后的图片
  • DiskCacheStrategy.AUTOMATIC:默认情况与ALL相同
  • DiskCacheStrategy.DATA:仅保存未修改的原始图片
  • DiskCacheStrategy.NONE:跳过磁盘缓存不缓存图片。
  • DiskCacheStrategy.RESOURCE: 仅保存修改后的图片。
        Glide.with(this)
                .load(imageUrl)
                .diskCacheStrategy(DiskCacheStrategy.ALL)
                .into(imageView);
  • 显示gif静态图片
        Glide.with(this)
                .asBitmap()
                .load(imageUrl)
                .into(imageView);
  • 显示gif动态图片
        Glide.with(this)
                .asGif()
                .load(imageUrl)
                .into(imageView);
  • apply + RequestOptions使用
        RequestOptions requestOptions = new RequestOptions()
                .placeholder(R.drawable.ic_launcher)
                .error(R.drawable.ic_launcher_s)
                .skipMemoryCache(true)
                .diskCacheStrategy(DiskCacheStrategy.ALL);


        Glide.with(this)
                .load(imageUrl)
                .apply(requestOptions)
                .into(imageView);
  • 清理磁盘缓存,需要在子线程中执行
        Glide.get(this).clearDiskCache();
  • 清理内存缓存,可以在UI主线程中进行
        Glide.get(this).clearMemory();

Glide源码详解

相关文章

  • Glide

    4.0.0 Glide 4.0.0 RC0 使用详解 设置cookie

  • Glide详解

    一、Glide使用 (1)在build.gradle中添加依赖 (2)Glide方法 常用方式 placehold...

  • Glide 详解

    本文大部分转自 郭霖的Glide 教程系列(本文总结) https://mp.weixin.qq.com/s/p5...

  • Glide详解

    缓存类型 活动资源当前图片资源正在使用的时候,会被放入活动缓存 内存缓存图片最近被加载过,而且没有在使用中,会被放...

  • Android 面试宝典

    Android跨进程通信:图文详解 Binder机制 原理 Picasso,Glide,Fresco对比分析 拆轮...

  • Glide使用详解

    引入 以androidStudio为例,在build.gradle中添加依赖: AndroidManifest.x...

  • Glide使用详解

    一、Glide简介 Glide 是 Google 员工的开源项目, Google I/O上被推荐使用,一个高效、...

  • Glide使用详解

    Gradle配置: 添加访问网络权限 加载图片到ImageView Glide支持网络资源、assets资源、Re...

  • Glide使用详解

    Gradle配置: compile'com.github.bumptech.glide:glide:4.8.0'a...

  • Glide源码详解

    一、源码解析 (1)Glide.with(this):初始化、绑定生命周期、获得RequestManager实例 ...

网友评论

      本文标题:Glide详解

      本文链接:https://www.haomeiwen.com/subject/zoomnftx.html