1、RecyclerView的缓存
在RecyclerView中,有两种缓存:Scrap和Recycle。
Scrap缓存是指里面缓存的View是接下来需要用到的,即里面的绑定的数据无需更改,可以直接拿来用的;而Recycle的缓存的View为里面的数据需要重新绑定,即需要通过Adapter重新绑定数据。
当我们去获取一个新的View时,RecyclerView的逻辑流程是:
a:首先去检查Scrap缓存是否有对应的position的View,如果有,则直接拿出来可以直接用,不用去重新绑定数据;
b:如果没有,则从Recycle缓存中取,回调Adapter的onBindViewHolder方法,再将绑定好新数据的View返回。
c:如果Recycle缓存为空,初始化View,并调用onCreateViewHolder方法,绑定数据。
2、滚动方法:
scrollBy(x, y)这个方法是自己去控制移动的距离,单位是像素
scrollToPosition(position)这个方法的作用是定位到指定项,该项显示出来不一定位于组件顶部
smoothScrollToPosition(position)和scrollToPosition(position)效果基本相似,前者是平滑到你想显示的项
((LinearLayoutManager)recyclerView.getLayoutManager()).scrollToPositionWithOffset(position,0)
这种方式是定位到指定项如果该项可以置顶就将其置顶显示。
3、
网友评论