关于glide图片加载框架的实际使用要点

简介: 第一部分:先说用glide踩的坑。最近在项目中,加载图片用的是glide框架,遇到坑的地方,在load(url),内的url不能丢了。比如:Glide.with(mContext)        .load("img2.3lian.com/2014/f6/173/d/55.jpg")        .into(ivOrderGoodsImg);这样,图片无法显示,一般glide载入图片失败有几个原因,1:into()方法没有载入正确的ImageView控件,比如载入到TextView的实例化对象中;2:load()方法中的网址不正确。

第一部分:先说用glide踩的坑。

最近在项目中,加载图片用的是glide框架,遇到坑的地方,在load(url),内的url不能丢了。比如:

Glide.with(mContext)

        .load("img2.3lian.com/2014/f6/173/d/55.jpg")

        .into(ivOrderGoodsImg);

这样,图片无法显示,一般glide载入图片失败有几个原因,1:into()方法没有载入正确的ImageView控件,比如载入到TextView的实例化对象中;2:load()方法中的网址不正确。

第一种情况,很简单就排除了;第二种情况,我把网址拉倒浏览器,可以正常看到图片。

这下我想到glide应该有载入时的监听器,可以让我们知道具体载入失败的原因。简单网上查找后,了解到可以这么写:


img_1746deb21dbfec01dff0504974da5d94.png

直接运行,查看log,java.io.FileNotFoundException: No such file or directory model:img2.3lian.com/2014/f6/173/d/55.jpg isFirstResource: true

写着没有找到目标目录。简单查阅后,发现是load方法中需要在网址里面加入"http://"或者“https://”,否则就会在监听器是提醒上述的错误。

了解原因后,把代码改为:


img_41216bc7193cc436393c1b3164572e63.png

图片加载正常,问题解决:


img_f3ca70b5fa78aae49a48c8b2c933f12f.png

第二部分,简单介绍一下glide的用法。

众所周知,gilde的使用相当简单,一般来说形式为:

Glide.with(传入上下文,即context)

        .load(图片的网址,http://开头)

        .into(imageview实例化对象);

,除此之外,还有 .placeholder()方法,意思为图片未载入前或者图片载入失败是加载的静态资源图片。实际使用发现,此方法要在load()方法之后才可调用,例如:

img_3d43b3346152914ecdb157b054196abb.png
此方法报红

把.placeholder()放在load()后,可正常调用:


img_2be37a06264a4ff8579f27f6660f2410.png

作为菜鸟,暂时只说先客观现象,深究是之后的事情。

未完待续。。谢谢各位看官。

目录
相关文章
|
4月前
|
Java Android开发
Android面试题经典之Glide取消加载以及线程池优化
Glide通过生命周期管理在`onStop`时暂停请求,`onDestroy`时取消请求,减少资源浪费。在`EngineJob`和`DecodeJob`中使用`cancel`方法标记任务并中断数据获取。当网络请求被取消时,`HttpUrlFetcher`的`cancel`方法设置标志,之后的数据获取会返回`null`,中断加载流程。Glide还使用定制的线程池,如AnimationExecutor、diskCacheExecutor、sourceExecutor和newUnlimitedSourceExecutor,其中某些禁止网络访问,并根据CPU核心数动态调整线程数。
132 2
Glide源码学习八:实现带进度的Glide图片加载功能
Glide源码学习八:实现带进度的Glide图片加载功能
|
3月前
|
Java Android开发 Kotlin
Android项目架构设计问题之要在Glide库中加载网络图片到ImageView如何解决
Android项目架构设计问题之要在Glide库中加载网络图片到ImageView如何解决
35 0
|
6月前
|
XML 缓存 Java
Android App开发之利用Glide实现图片的三级缓存Cache讲解及实战(附源码 超详细必看 简单易懂)
Android App开发之利用Glide实现图片的三级缓存Cache讲解及实战(附源码 超详细必看 简单易懂)
317 0
|
Java Android开发
Android万能的图片加载框架(Glide、Fresco、Picasso)
Android万能的图片加载框架(Glide、Fresco、Picasso)
|
存储 缓存 Java
图片加载框架-Picasso最详细的使用指南
图片加载框架-Picasso最详细的使用指南
图片加载框架-Picasso最详细的使用指南
|
缓存 Android开发
Anroid笔记:Android图片加载框架Glide用法
Anroid笔记:Android图片加载框架Glide用法
204 0
|
消息中间件 缓存 Java
Glide生命周期原理
Android App中图片的展示是很基本也很重要的一个功能,在Android平台上有很多的图片加载解决方案,但是官方认可的是Glide。Android App的页面是有生命周期的,Glide比较好的一个功能就是具有生命周期管理功能,能够根据页面和APP的生命周期来管理图片的加载和停止,也开放接口供用户在内存紧张时手动进行内存管理。
988 0
|
存储 缓存 算法
图片加载框架之图片加载框架选型(一)上篇
阿里P7移动互联网架构师进阶视频(每日更新中)免费学习请点击:https://space.bilibili.com/474380680本篇文章将通过Universal-Image-Loader解析来阐述图片加载框架选型: 一、[Universal-Image-Loader解析基本介绍与使用] 基本...
|
XML 缓存 Java
图片加载框架之图片加载框架选型(一)下篇
阿里P7移动互联网架构师进阶视频(每日更新中)免费学习请点击:https://space.bilibili.com/474380680本篇文章将通过Picasso分析、Fresco的使用来阐述图片加载框架选型: 一、 Picasso分析 Picasso是Square公司开源的一个Android平...