RecyclerView 复用
RecyclerView 四级缓存
mChangedScrap与mAttachedScrap
用来缓存还在屏幕内的 ViewHoldermCachedViews
用来缓存移除屏幕之外的 ViewHoldermViewCacheExtension
用户自定义扩展缓存,需要用户自己管理 View 的创建和缓存RecycledViewPool
ViewHolder 缓存池
RecyclerView 回收
RecycledViewPool
RecycledViewPool 内部是一个 SparseArray, 它可以缓存多个 ViewHolder 类型,但 每个ViewHolder 类型默认最多只能保存 5 条数据( DEFAULT_MAX_SCRAP ), 可以通过 setMaxRecycledViews(...) 修个每个ViewHolder 的最大保存数量.