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、
关于RecyclerView
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
- 知识框架(脑图) 技术出现的背景 ListView没有强制要求ViewHolder ListView不能快速实现线...