onTouchEvent
Move
scrollByInternal
mLayout.scrollVerticallyBy(y, mRecycler, mState);
LinearLayoutManager.scrollBy();
fill(recycler, mLayoutState, state, false);
fill(recycler, mLayoutState, state, false);
recycleByLayoutState(recycler, layoutState);//回收
recycler.recycleViewHolderInternal()//回收主要方法
layoutChunk(recycler, state, layoutState, layoutChunkResult);//复用
layoutState.next(recycler);
recycler.getViewForPosition(mCurrentPosition);
第一级:mChangedScrap 与 mAttachedScrap ---> 回收:recycler.scrapView(view);
第二级:mCachedViews---》 默认大小为2 ---》 回收:recycler.recycleViewHolderInternal()
第三级:mViewCacheExtension
第四级:pool ---》 默认大小5
onCreate
onBind
四级缓存
数据结构
回收机制
复用机制