为了账号安全,请及时绑定邮箱和手机立即绑定

如何从Glide记录每个请求网址?

如何从Glide记录每个请求网址?

湖上湖 2022-09-07 16:31:34
我已经使用Glide下载图像很长一段时间了,所以像这样的代码无处不在:      GlideApp.with(getContext())            .load(imgUrl)            .into(imgView);突然间,我需要记录每个图像的URL以进行进一步分析。而不是搜索Glade的每个用法并像这样更改代码:      GlideApp.with(getContext())            .load(imgUrl)            .listener(requestListener) // log urls through listener            .into(imgAd);有没有办法像在Glide的默认选项中那样全局添加requestListener,这样我就不需要在整个应用程序中搜索和更改每个Glide用法?我使用Glide v4,并且我已经检查了将URL直接记录到logcat而不是我的本地存储以进行进一步分析的帖子。
查看完整描述

1 回答

?
波斯汪

TA贡献1811条经验 获得超4个赞

Glide 4.9.0 可以设置默认请求Listener。


链接 https://github.com/bumptech/glide/releases/tag/v4.9.0 https://github.com/bumptech/glide/commit/37127f0f817d4a11dfdcc447946397b5288de593


在自定义 AppGlideModule 中


@GlideModule

public class MyAppGlideModule extends AppGlideModule {


    @Override

    public void applyOptions(@NonNull Context context, @NonNull GlideBuilder builder) {

        builder.addGlobalRequestListener(new RequestListener<Object>() {

            @Override

            public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Object> target, boolean isFirstResource) {

                return false;

            }


            @Override

            public boolean onResourceReady(Object resource, Object model, Target<Object> target, DataSource dataSource, boolean isFirstResource) {

                return false;

            }

        });

    }

}

在自定义活动片段中


GlideApp.with(object).addDefaultRequestListener()


Glide.with(object).addDefaultRequestListener()


查看完整回答
反对 回复 2022-09-07
  • 1 回答
  • 0 关注
  • 78 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信