Glide入门教程——8. 请求优先级
来源:互联网 发布:淘宝售后服务专员认证 编辑:程序博客网 时间:2024/06/06 02:21
Glide — 请求优先级
原文:Request Priorities
作者:Norman Peitek
翻译:Dexter0218
前面介绍了图片加载的关键部分:缓存!如果你错过了看,很值得再回去看看。这篇文章我们要介绍Glide的另外一个重要特征:根据优先级排序图片请求。
原文链接:http://www.jianshu.com/p/a4053bf71fee
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
图片请求优先级
你经常会遇到这些情况,你的app需要同时加载多个图片。假设你正在创建一个信息展示界面,包含顶部的一个主要照片,还有底部的2个并不重要的小图。对于用户体验,我们最好先加载主角照片,然后再加载底部不紧急的图片。Glide里的.priority()方法和Priority的枚举变量支持你的想法。
在看例子之前,我们先看一下作为.priority()方法参数的Priority的枚举变量。
学习Priority枚举变量
一共有四个不同的枚举变量。下面以递增方式列出:
Priority.LOW
Priority.NORMAL
Priority.HIGH
Priority.IMMEDIATE
在跳到例子前,你应当明白优先级并不是非常严格的。Glide会将它们作为一个指导来最优化处理请求。但并不意味着所有的图片都能够按请求的顺序加载。
然而。如果你已经有需要某些重要的图片的使用场景,好好利用优先级!
使用例子: 带有子图的主要元素
让我们回顾一下我们最开始的例子。你正在实现一个信息细节界面,其中包含1个顶部的主要图片,还有底部的2个小图。对于最佳的用户体验,主要图片需要优先被加载。这样,我们分配Priority.HIGH给它。理论上,那就够了。但为了这个例子更有趣,我们通过调用.priority(Priority.LOW)分配给底部的图片低优先级权限:
private void loadImageWithHighPriority() { Glide .with( context ) .load( UsageExampleListViewAdapter.eatFoodyImages[0] ) .priority( Priority.HIGH ) .into( imageViewHero );}private void loadImagesWithLowPriority() { Glide .with( context ) .load( UsageExampleListViewAdapter.eatFoodyImages[1] ) .priority( Priority.LOW ) .into( imageViewLowPrioLeft ); Glide .with( context ) .load( UsageExampleListViewAdapter.eatFoodyImages[2] ) .priority( Priority.LOW ) .into( imageViewLowPrioRight );}
如果你运行了这个例子,你会发现,不管是多大的图片,几乎所有情况下主要的图片都会被优先显示。(图片越大,需要更多的处理时间)
展望
Glide提供非常方便的选项去分配图片请求的优先级。非常简单快捷地让用户体验提升。看看你的app和你的代码,是不是能将这些学到的技能用进去!
权限优先级是非常有用的,但并不能总是完美地解决问题。我们假设你要下载一个非常大的图片,不管你设置多高的权限,它仍然会花费较长时间去下载和处理。后面的文章,为了更好地提升用户体验,我们会学习Glide工具外的另一个工具:缩略图!
原文链接:http://www.jianshu.com/p/a4053bf71fee
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
- Glide入门教程——8. 请求优先级
- Glide 入门到精通之七——请求优先级
- glide:请求优先级
- Glide入门教程——16.用Modules定制Glide
- Glide入门教程——18.Glide Module案例: 自定义缓存
- Glide入门教程——1.入门简介
- Glide入门教程——2.高级加载
- Glide入门教程——7. 缓存基础
- Glide入门教程——9. 缩略图
- Glide入门教程——13.自定义变换
- Glide入门教程——22.系列综述
- Glide入门教程——1.入门简介
- Glide入门教程——3.适配器(ListView, GridView)
- Glide入门教程——4. 占位图& 淡入淡出动画
- Glide入门教程——5.图片大小调整 & 缩放
- Glide入门教程——6.播放Gif & 视频
- Glide入门教程——14.用animate()定制动画
- Glide入门教程——15.整合网络协议栈
- strncpy源码
- 区块链小结及思考
- 约束
- Glide入门教程——7. 缓存基础
- 网易面试总结
- Glide入门教程——8. 请求优先级
- 8月18号学习感悟
- 修改数据表
- 跟我一起学OC系列-OOP编程的基础知识
- Glide入门教程——9. 缩略图
- Glide入门教程——10. 回调:定制view中使用SimpleTarget和ViewTarget
- 8月21,安卓开发JNI学习笔记整理
- ruby 淘宝镜像
- UVA 1639