阿里P7移动互联网架构师进阶视频(每日更新中)免费学习请点击:https://space.bilibili.com/474380680
本篇文章将通过Glide使用来阐述图片加载框架选型:
首先,添加依赖
之后添加访问网络权限
一、常用的方法
1、加载图片到imageView
2、各种形式的图片加载到ImageView
3、加载带有占位图
占位图目的为在目的图片还未加载出来的时候,提前展示给用户的一张图片;
4、加载失败 放置占位符
5、加载指定格式的图片--指定为静止图片
6、加载动态图片
7、加载指定大小的图片
8、关闭框架的内存缓存机制
9、关闭硬盘的缓存
10、当引用的 url 存在 token 时解决方法-->重写 Glide 的 GlideUrl 方法
然后加载图片的方式为:
11、利用Glide将图片加载到不同控件或加载成不同使用方式
(1)、拿到图片实例
(2)、将图片加载到任何位置
12、Glide 实现预加载
切记:diskCacheStrategy() 方法内必须设置参数为:“ DiskCacheStrategy.SOURCE ”,否则可能预加载失败,导致显示图片时,需要重新加载。
13、Glide 实现图片下载
使用 downloadOnly(int width, int height)
或 downloadOnly(Y target)
方法替代 into(view)
方法。
(1)、有两个参数的 downloadOnly(int width, int height)
方法表示指定下载尺寸,用于在子线程内进行下载;
(2)、一个参数的 downloadOnly(Y target)
方法 在主线程内进行下载
(3)、target.get()
方法可以获取到下载文件保存路径;
使用下载完的图片的方式
注意: diskCacheStrategy() 方法的参数应该为 DiskCacheStrategy.SOURCE
或者 DiskCacheStrategy.ALL
否则可能导致加载图片到控件的时候,需要重新加载。
13、监听 Glide 加载的状态
(1)、onException()
方法表示加载失败,onResourceReady()
表示加载成功;
(2)、 每个方法都有一个 boolean 的返回值,false表示未处理、true 表示处理。
14、Glide 的图形变换功能
(1)、禁用图形变换功能
这个方法时全局的,导致其他地方的图片也不可进行图形变换了。
修改方法
通过 override() 方法设置大小
(2)、简单的图形变换
通过 centerCrop()
方法 按照原始的长宽比充满全屏和 fitCenter()
方法 对原图的中心区域进行裁剪对图片进行相关设置。
(3)、override()
方法与 centerCrop()
方法配合使用
(4)、复杂的图像变换
首先需要再引入一个 第三方框架 。
其次,部分样例:
图片虚化
图片黑白化
多个属性同时使用
还有更多的好玩的属性,请到框架官网查看:https://github.com/wasabeef/glide-transformations
原文链接:https://www.jianshu.com/p/791ee473a89b
阿里P7移动互联网架构师进阶视频(每日更新中)免费学习请点击:https://space.bilibili.com/474380680