见微知著从源码到原理剖析rECYCLERvIEW核心知识点
- RecyclerView家族图谱
- LinearLayoutManager布局流程分析
- Recyler 复用回收管理
- 自定义LayoutManager支持吸顶悬浮
RecyclerView家族图谱
LinearLayoutManager布局流程分析
Recyler 回收池
public final class Recycler {
//#1 不需要重新bindViewHolder
ArrayList<ViewHolder> mAttachedScrap;
ArrayList<ViewHolder> mChangedScrap;
//#2 可通过setItemCacheSize调整,默认大小为2,
ArrayList<ViewHolder> mCachedViews;
//#3 自定义拓展View缓存
ViewCacheExtension mViewCacheExtension;
//#4 根据viewType存取ViewHolder,
// 可通过setRecycledViewPool调整,每个类型容量默认为5
RecycledViewPool mRecyclerPool;
}
Recyler复用
总结
- 插拔式设计模式,增加组建的灵活性
- 尽量指定RecyclerView和Item的宽和高
- 尽量使用定向刷新notifyItemChanged