Glide请求图片能携带Cookie的哟!

    在Web编程中我们都很熟知一个概念,当有了seesion登录状态时,你可以访问一些资源但如果你没有登录的话很多资源是无法访问的。

在android的WebApi中当然一样拥有这个概念。比如,用户的头像资源;这东西可不是谁任意发一个http请求就可以拿的到的,因为什么相信你比我更清楚哦!

这时就要求我们的Glide能够请求时携带cookie,说道这里相信大家已经知道我要干什么了,废话少说直接上代码:

if (AppCurrentUser.getInstance().getLoginOK())
            return new GlideUrl(url, new LazyHeaders.Builder().addHeader("Cookie", AppCurrentUser.getInstance().getUserCookie()).build());
        else
            return new GlideUrl(url);

     这是工程当中的一个特别真实的例子:如果当前用户为登录状态就需要在http请求头中添加Cookie标识,这样服务端校验后就可以可以决定是不是要给你资源了!

在load方法中直接传入返回的GlideUrl对象即可;代码如下:

Glide.with(context).load(创建的GldieUrl对象实例)//load是接受model的

     ***在这里既然提到了Url不妨多说一句更好的性能优化方案,就是Glide请求图片的url中可以有可以携带想要的图片宽高参数,这样在请求级别就已经做到了优化;

比如原图片为1024*1024,你想要一个48*48的,那么带宽会节省很多。但前提是你的服务器有能力处理这些事情

原文地址:https://www.cnblogs.com/zzq-include/p/6236484.html