RecyclerView的学习了解
2020-09-10 本文已影响0人
Amy木婉清
使用场景:
多种样式的列表
宫格和列表同时存在
分类列表比如通讯录
Recyclerview使用样式:
列表样式.png 通讯.png
RecyclerView多种布局原理与机制
RV中的关键成员:
Type
:getItemViewType(int position)RecyclerView.Holder
RecyclerView.Recycler
recycler保存了一些需要缓存的机制
多布局类型设计流程
滚动:getItemViewType(offsetPosition-->根据Type寻找对应Holder--->(找不到的话创建)adapter.CreateViewHolder)[找到的话则]-->adapter.bindViewHolder
getItemViewType的作用:
ItemType保存在Holder中
Holder根据position被缓存在cache中
当我们需要服用的时候,系统会在cache里面拿Holder,进而实现使用流畅
遍历缓存中的Holder,如果Type一致就返回
RecyclerView.Holder
在RecyclerView中保存View的单位
ListView里面保存的是View 而RecyclerView里面保存的是Holder;记录在Recyclerview基本信息;
是否需要被缓存的Flag标志
RecyclerView.Recycler
Recyclerview中被缓存的Holder
多个RecyclerView共用一个RecycleredPool
配置缓存Size