1、四级缓存你一定要知道
所有ViewHolder的创建和内容的绑定都需要经过Adaper的两个函数onCreateViewHolder和onBindViewHolder,RecyclerView的缓存机制就是要减少这两个函数的调用时间和调用的次数。
- 一级缓存:屏幕内,复用时不调用onBindViewHolder()
mAttachedScrap:未与RecyclerView分离的viewHolder列表
mChangedScrap:数据已经改变的viewHolder列表。 - 二级缓存:屏幕外,复用时不调用onBindViewHolder()
mCacheViews:默认大小是2 - 三级缓存:自定义
mViewCacheExtension - 四级缓存:缓存池,复用时调用onBindViewHolder()
mRecyclerPool:当二级缓存超过2时使用。