Glide 是一个 Android 上的图片加载和缓存库,其目的是实现平滑的图片列表滚动效果。Glide 是 Android 的一个快速高效的开源媒体管理和图像加载框架,它将媒体解码、内存和磁盘缓存以及资源池封装到一个简单易用的接口中。

Glide 支持获取、解码和显示视频静态、图像和动画 GIF。Glide 包括一个灵活的 API,允许开发人员插入几乎任何网络堆栈。默认情况下,幻灯片使用自定义 HttpUrlConnection 基于堆栈,但也包括实用程序库插入谷歌的 Volley 项目或 Square 的 OkHttp 库代替。
Glide 的主要关注点是尽可能平滑和快速地滚动任何类型的图像列表,但是对于需要获取、调整大小和显示远程图像的几乎任何情况,幻灯片都是有效的。
你可以从 GitHub 下载一个 JAR 发布页面。
或者使用 Gradle:
repositories {
google()
jcenter()
}
dependencies {
implementation 'com.github.bumptech.glide:glide:4.11.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0'
}
或者 Maven:
<dependency>
<groupId>com.github.bumptech.glide</groupId>
<artifactId>glide</artifactId>
<version>4.11.0</version>
</dependency>
<dependency>
<groupId>com.github.bumptech.glide</groupId>
<artifactId>compiler</artifactId>
<version>4.11.0</version>
<optional>true</optional>
</dependency>
根据ProGuard(DexGuard)的配置和使用情况,您可能需要将以下行包含在proGuard d.cfg中:
-keep public class * implements com.bumptech.glide.module.GlideModule
-keep class * extends com.bumptech.glide.module.AppGlideModule {
<init>(...);
}
-keep public enum com.bumptech.glide.load.ImageHeaderParser$** {
**[] $VALUES;
public *;
}
-keep class com.bumptech.glide.load.data.ParcelFileDescriptorRewinder$InternalRewinder {
*** rewind();
}
# for DexGuard only
-keepresourcexmlelements manifest/application/meta-data@value=GlideModule
简单的用例看起来如下所示:
// For a simple view:
@Override public void onCreate(Bundle savedInstanceState) {
...
ImageView imageView = (ImageView) findViewById(R.id.my_image_view);
Glide.with(this).load("http://goo.gl/gEgYUd").into(imageView);
}
// For a simple image list:
@Override public View getView(int position, View recycled, ViewGroup container) {
final ImageView myImageView;
if (recycled == null) {
myImageView = (ImageView) inflater.inflate(R.layout.my_image_view, container, false);
} else {
myImageView = (ImageView) recycled;
}
String url = myUrls.get(position);
Glide
.with(myFragment)
.load(url)
.centerCrop()
.placeholder(R.drawable.loading_spinner)
.into(myImageView);
return myImageView;
}
如果您需要支持较早版本的 Android,请考虑继续使用 Glide v3,它在 API 10 上工作,但没有积极维护。

