RecyclerView
- 2種類のキャッシュであるScrapHeapとViewPoolを持っている
- スクロールしてViewが見えなくなるとremoveAndRecycleView()が呼ばれて
- 見えなくなったViewはdetachAndScrapView()/removeAndRecycleView()に行く
LayoutManager
- Viewの配置、生成、破棄、再利用
カスタムLayoutManager
- onLayoutChildren(レイアウトの初期化、Adapterの更新で呼ばれる)
- onInterceptFocusSearch(フォーカス移動をしようとすると呼ばれる。戻り値でフォーカスすべきViewを返却する)
- scrollHorizontallyBy()
- scrollVerticallyBy()
- LayoutState.mAvailableはFillの状態(見えている画面全体?)のピクセル量
- LayoutState.mDirectionはSTART | END