Bootstrap

安卓笔记:RecyclerView的四级缓存

1. Scrap (mChangedScrap、mAttachedScrap)

保存屏幕内的holder,涉及到item动画时

  1. 被notifyItemRangeChanged移除的holder保存在mChangedScrap中
  2. 被其他notify(除notifyDataSetChanged)移除的holder保存在mAttachedScrap中

2. Cache (mCachedViews)

保存刚被移出屏幕的holder, 默认容量2 (可理解为上下各一个)

3. Extension (mViewCacheExtension)

可自定义的缓存实现,默认空实现

4. Pool (mRecyclerPool)

保存已被移出屏幕的无效的holder,默认容量5,可以自己new一个pool传进去(一般在RV嵌套时,子RV与父RV可共用同一个Pool)

;