Glide无法显示图片问题解决

阅读: 评论:0

Glide无法显示图片问题解决

Glide无法显示图片问题解决

这几天,碰到一个诡异的问题,发现原来Android上好好的图片,无法显示了。

经过代码比对,也一直找不到问题。

没办法,只好调试代码吧,发现让图片显示的程序为:

 Glide.with(mContext).load(FileDataUrl + TaskImage + (position).getImg()).thumbnail(0.1f).into(myHolder.mimage);

于是,怀疑这部分代码是不是有问题。

查询相关说明:

Glide的使用说明如下:

Glide is an Image Loader Library for Android developed by bumptech and is a library that is recommended by Google. It has been used in many Google open source projects including Google I/O 2014 official application. It provides animated GIF support and handles image loading/caching.

翻译意思就是:Glide是Goolge推荐的图片处理函数。他提供了GIF支持,并可以操作图片的加载和缓存。

基本用法如下:

Glide.with(context).load(".png").override(300, 200).into(ivImg);

既然是出错了,那怎么判断出错了。

但Glide提供了一个说明:如果出错,不会直接报错;要想查看错误,必须配置错误监听函数。

如下:

Glide.with(mContext).load(Uri.parse(url)).error(R.drawable.ic_photo).thumbnail(0.1f).listener(new RequestListener<Uri, GlideDrawable>() {// 错误处理@Overridepublic boolean onException(Exception e, Uri model, Target<GlideDrawable> target, boolean isFirstResource) {e.printStackTrace();return false;}@Overridepublic boolean onResourceReady(GlideDrawable resource, Uri model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {return false;}}).into(myHolder.mimage);

其中,listner对应的为错误处理函数。

操作以后,果然在listner对应的onException函数里得到了错误消息,告诉网址无法访问。

如下:

: java.lang.Exception: Failed to load model: '相关地址'
:     at com.SizeReady(GenericRequest.java:441)
:     at com.quest.target.Size(ViewTarget.java:211)
:     at com.quest.Size(ViewTarget.java:100)
:     at com.quest.GenericRequest.begin(GenericRequest.java:272)
:     at com.quest.ThumbnailRequestCoordinator.begin(ThumbnailRequestCoordinator.java:90)
:     at com.bumptech.glide.sumeRequests(RequestTracker.java:83)
:     at com.bumptech.sumeRequests(RequestManager.java:180)
:     at com.bumptech.Start(RequestManager.java:203)
:     at com.bumptech.glide.Start(ActivityFragmentLifecycle.java:50)
:     at com.bumptech.glide.Start(SupportRequestManagerFragment.java:135)
:     at android.support.v4.app.Fragment.performStart(Fragment.java:2265)
:     at android.support.v4.veToState(FragmentManager.java:1369)
:     at android.support.v4.veFragmentToExpectedState(FragmentManager.java:1574)
:     at android.support.v4.veToState(FragmentManager.java:1641)
:     at android.support.v4.app.FragmentManagerImpl.dispatchStart(FragmentManager.java:2966)
:     at android.support.v4.app.FragmentController.dispatchStart(FragmentController.java:212)
:     at android.support.v4.Start(FragmentActivity.java:560)
:     at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1446)
:     at android.app.Activity.performStart(Activity.java:7990)
:     at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3535)
:     at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:237)
:     at android.app.leToPath(TransactionExecutor.java:217)
:     at android.app.uteLifecycleState(TransactionExecutor.java:189)
:     at android.app.ute(TransactionExecutor.java:113)
:     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2213)
:     at android.os.Handler.dispatchMessage(Handler.java:107)
:     at android.os.Looper.loop(Looper.java:238)
:     at android.app.ActivityThread.main(ActivityThread.java:7864)
:     at flect.Method.invoke(Native Method)
:     at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:998)

但比较奇怪的是:我自己把相关网址进行粘贴到IE或Chrome等浏览器里,把图片下载了下来。

大为困惑,满脸黑人问号???

于是,继续查资料:

查了好多资料后,终于在StackOverflow()上查询到这句话:

”For me the problem was with < or <. I changed it to < (all lower letters) and it worked.

Both Glide and Picasso had the same problem with it.“

也就是说:Glide和Picasso这种图片处理工具,都是只支持http开头的链接,不支持开头大写。

仔细查代码,发现本人在代码重构中,把http变成了首字母大写(Refactor的锅)。修改字符串为http后,发现图片能查看,问题解决。

PS:God or deveil is in the detail。只有真正了解一段代码,才可以完全运用这段代码。

本文发布于:2024-01-29 03:49:39,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170647138212486.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:图片   Glide
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23