未经允许不得转载。
转载请注明作者AndroidMsky及原文链接
http://blog.csdn.net/androidmsky/article/details/53115818
本文应该是RecyclerView的第三篇,今天来讲讲如何让RecyclerView优先加载可见item,如何在RecyclerView滑动中停止图片的加载保证页面流畅。
先看效果图:
额。算了再流畅GIF也无法展示,想看效果去GITHUB下载代码吧。
本文Github代码链接
https://github.com/AndroidMsky/GlideScrollRecyclerView
欢迎star哦。
对下拉刷新上滑加载RecyclerView还不明白的请看:
http://blog.csdn.net/androidmsky/article/details/52922348
对多样式布局Gilde基本用法还不懂得请看:
http://blog.csdn.net/androidmsky/article/details/52944370
两篇都是笔者的博文,相信入门搭建起可用框架还是有帮助的。
让我们来回顾一下陈旧的Listview,如果item中有网络图片,那时候我们怎么做的呢?我们要注意一下几个重点:
1.网络图片获取
2.网络图片二级缓存(至少一级缓存)
3.在高速滑动时候停止图片加载线程
4.在低速滑动,停止滑动时候开启线程
5.下拉刷新
6.上滑加载
7.优先加载可见item
如果不用第三方框架,自己维护线程池等等东西,想想都复杂。而如今我们不需要这些东西了,本文的Dome轻轻松松做到这7点。
首先1 2 glide给予我们完美的支持,5 6 我前文提到过的RecyclerView也有完美的支持。今天主要讲 3 4 7这三点如何实现。
首先看7.优先加载可见item,之前在listview我们可能这样做,写个滑动监听并且获取可见item的位置,然后加载对应图片,那么我们使用RecyclerView+Gilde到底如何做这一点呢,笔者一开始也有些犹豫,于是直接issues到了github :
https://github.com/bumptech/glide/issues/1575#event-852660755