1. Scrap (mChangedScrap、mAttachedScrap)
保存屏幕内的holder,涉及到item动画时
- 被notifyItemRangeChanged移除的holder保存在mChangedScrap中
- 被其他notify(除notifyDataSetChanged)移除的holder保存在mAttachedScrap中
2. Cache (mCachedViews)
保存刚被移出屏幕的holder, 默认容量2 (可理解为上下各一个)
3. Extension (mViewCacheExtension)
可自定义的缓存实现,默认空实现
4. Pool (mRecyclerPool)
保存已被移出屏幕的无效的holder,默认容量5,可以自己new一个pool传进去(一般在RV嵌套时,子RV与父RV可共用同一个Pool)