首页 » Android » Glide开源库存在的暗坑

Glide开源库存在的暗坑

原文 http://blog.csdn.net/tenggangren/article/details/76650874

2017-08-03 23:20:06阅读(341)


Glide库想必大家都非常喜欢使用,无论是加载gif或者bitmap图,都如丝般顺滑!!! 但是,但是,就在这个但是上,你是否遇到过glide加载图片失败的情况呢?? 


问题追踪过程:


1.url地址有问题?  抓到url放到浏览器,完全能正常展示


2.glide有bug? 但是别的手机都是ok,都能正常展示呢? 这怎么解释?


3.仔细查看log日志记录,你能发现一行这样的错误日志  , Android  ua   0x5****  can not .....芸芸 ,意思请求中的ua有问题 


顺藤摸瓜,debug断点跟踪发现,的确,我的手机ua有问题,有什么问题呢?  带有中文!!有中文!!!有中文!! Glide开源库对有中文ua支持不了!!


怎么办呢?? google一番,发现两种解决方案:


1.

方法一是利用GlideModule , 网上代码很多,不再赘述,基本搜索: Glide  自定义header头,就能搜索很多

2.

方法二:

 
GlideUrl glideUrl = new GlideUrl(revert(realUrl), new LazyHeaders.Builder()
.addHeader("User-Agent", MiscUtil.urlEncode(DeviceUtils.getUserAgent())).build());BitmapRequestBuilder builder = Glide.with(YueduApplication.instance()) .load(glideUrl) .asBitmap() .placeholder(placeHolderCover) .error(placeHolderCover) .diskCacheStrategy(type);



轻松愉快解决!!!


总结:目前主流的手机设备厂商ua基本不会出现中文的情况,即使出现了,我们在okhttp请求中也会对ua进行urlencode,但是glide没考虑到这种情况,还好良好的扩展性能支持设置!!!













最新发布

CentOS专题

关于本站

5ibc.net旗下博客站精品博文小部分原创、大部分从互联网收集整理。尊重作者版权、传播精品博文,让更多编程爱好者知晓!

小提示

按 Ctrl+D 键,
把本文加入收藏夹