Glide 的强大毋庸置疑.
以下是我的使用和我不明白的地方,求大神赐教!!
以下是我的使用:
Gradle
如果使用 Gradle,可从 Maven Central 或 JCenter 中添加对 Glide 的依赖。同样,你还需要添加 Android 支持库的依赖。
repositories {
mavenCentral()
maven { url 'https://maven.google.com' }
}
dependencies {
compile 'com.github.bumptech.glide:glide:4.6.1'
annotationProcessor 'com.github.bumptech.glide:compiler:4.6.1'
}
注意:如果可能,请尽量在你的依赖中避免使用 @aar
。如果你必须这么做,请添加 transitive=true
以确保所有必要的类都被包含到你的 API 中:
dependencies {
implementation ("com.github.bumptech.glide:glide:4.6.1@aar") {
transitive = true
}
}
基本用法
多数情况下,使用Glide加载图片非常简单,一行代码足矣:
Glide.with(fragment)
.load(myUrl)
.into(imageView);
取消加载同样很简单:
Glide.with(fragment).clear(imageView);
尽管及时取消不必要的加载是很好的实践,但这并不是必须的操作。实际上,当 Glide.with()
中传入的 Activity 或 Fragment 实例销毁时,Glide 会自动取消加载并回收资源。
加载圆形图
Glide.with(this)
.load(R.mipmap.ic_splash_bg)
.apply(bitmapTransform(new CropCircleTransformation()))
.into(mImageHead);
模糊过滤
Glide.with(this)
.load(R.mipmap.ic_splash_bg)
.apply(bitmapTransform(new BlurTransformation( 25, 4)))
.into(mImageView);
在 Application 模块中的使用
在 Application 模块中,可创建一个添加有 @GlideModule
注解,继承自 AppGlideModule
的类。此类可生成出一个流式 API,内联了多种选项,和集成库中自定义的选项:
package com.example.myapp;
import com.bumptech.glide.annotation.GlideModule;
import com.bumptech.glide.module.AppGlideModule;
@GlideModule
public final class MyAppGlideModule extends AppGlideModule {}
生成的 API 默认名为 GlideApp
,与 AppGlideModule
的子类包名相同。在 Application 模块中将 Glide.with()
替换为 GlideApp.with()
,即可使用该 API 去完成加载工作。
GlideApp.with(fragment)
.load(myUrl)
.placeholder(placeholder)
.fitCenter()
.into(imageView);
可以访问 Glide 的 generated API 页面来获得更多信息
更多转换请参考官方指南了解使用.
关于什么时候用GlideApp 什么时候用Glide 为什么 其实我也不知道?希望知道的大佬给解释下~ 我目前只停留着会用的阶段!