最近遇到一个问题,以前没有深入了解过,就是用Glide加载网络图片时,如何能够动态的知悉加载的状态。
方法如下:
请求监听器与定制日志
如果你想使用编程的办法跟踪成功和失败信息、跟踪应用中的整体缓存命中率,或增加对本地日志的控制,你可以使用 RequestListener
接口。 RequestListener
可以通过 RequestBuilder#listener()
方法来添加到单独的加载请求中。下面是一个使用示例:
Glide.with(fragment)
.load(url)
.listener(new RequestListener() {
@Override
boolean onLoadFailed(@Nullable GlideException e, Object model,
Target<R> target, boolean isFirstResource) {
// Log errors here.
}
@Override
boolean onResourceReady(R resource, Object model, Target<R> target,
DataSource dataSource, boolean isFirstResource) {
// Log successes here or use DataSource to keep track of cache hits and misses.
}
})
.into(imageView);
为减少对象分配起见,你可以为多个加载重用相同的RequestListener
。
官方的文档地址:https://muyangmin.github.io/glide-docs-cn/doc/debugging.html ,关于Glide其他的一些问题,大家可以到中文文档中自行寻找学习。