Glide 用法指南

匿名 (未验证) 提交于 2019-12-03 00:22:01
# Glide 用法指南


> 说明:由于在最近的项目中用到图片加载框架Glide,但是由于不同的人写的代码有点错综复杂。为了理清Glide的用法,才写了这篇文章。如果有不对的地方,请大家指出,谢谢!
> Glide 是一个图片加载的框架,尤其是大量加载图片,如果在列表中使用,就和它的名字一样纵享丝滑


## 下载或引用方式


```
repositories {


}


dependencies {


}
```
## 使用方式
* 基础用法


```
Glide.with(MainActivity.this).load(mImageUrl).into(mContentImg);
```
* 设置加载尺寸


```
Glide.with(MainActivity.this).load(mImageUrl).override(100,100).into(mContentImg);
```
* 设置加载动画


```
Glide.with(MainActivity.this)





```
* 设置缩放


```
Glide.with(MainActivity.this)





```


* 3种占位符(placeholder、error、fallback)

> 占位符是当请求正在执行时被展示的 Drawable 。当请求成功完成时,占位符会被请求到的资源替换。如果被请求的资源是从内存中加载出来的,那么占位符可能根本不会被显示。如果请求失败并且没有设置 `error Drawable` ,则占位符将被持续展示。类似地,如果请求的url/model为 `null` ,并且 `error Drawable` 和 `fallback` 都没有设置,那么占位符也会继续显示。

```
Glide.with(MainActivity.this).load(mImageUrl).placeholder(R.drawable.icon).into(mContentImg);
```

> `error Drawable` 在请求永久性失败时展示。`error Drawable` 同样也在请求的url/model为 `null` ,且并没有设置 `fallback Drawable` 时展示。


```
Glide.with(MainActivity.this).load(mImageUrl).error(R.drawable.ic_launcher_background).into(mContentImg);
```

> `fallback Drawable` 在请求的url/model为 `null` 时展示。设计 `fallback Drawable` 的主要目的是允许用户指示 `null` 是否为可接受的正常情况。例如,一个 `null` 的个人资料 url 可能暗示这个用户没有设置头像,因此应该使用默认头像。然而,`null` 也可能表明这个元数据根本就是不合法的,或者取不到。 默认情况下Glide将 `null` 作为错误处理,所以可以接受 `null` 的应用应当显式地设置一个 `fallback Drawable` 。


```
Glide.with(MainActivity.this).load(mImageUrl).fallback(R.drawable.ic_launcher_background).into(mContentImg);
```
* 缓存




```



//DiskCacheStrategy.RESULT 缓存转换后的图片 Glide.with(MainActivity.this).load(mImageUrl).diskCacheStrategy(DiskCacheStrategy.RESULT).into(mContentImg);
```

```
Glide.with(MainActivity.this).load(mImageUrl).skipMemoryCache(true).into(mContentImg);
```

```
Glide.get(MainActivity.this).clearDiskCache(); //清理内存缓存

```


###引用文章
> [Glide使用详解(一)](https://blog.csdn.net/shangmingchao/article/details/51125554)
> [Glide v4](https://muyangmin.github.io/glide-docs-cn/doc/transitions.html)

文章来源: Glide 用法指南
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!