见微知著从源码到原理剖析rECYCLERvIEW核心知识点

  • RecyclerView家族图谱
  • LinearLayoutManager布局流程分析
  • Recyler 复用回收管理
  • 自定义LayoutManager支持吸顶悬浮

RecyclerView家族图谱

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复用

recycler



总结

  • 插拔式设计模式,增加组建的灵活性
  • 尽量指定RecyclerView和Item的宽和高
  • 尽量使用定向刷新notifyItemChanged

results matching ""

    No results matching ""