區(qū)別:
ListView 只能在垂直方向上進行滑動,
RecyclerView 支持垂直跷敬,水平滑動随常,多行多列瀑布流等形式。
ListView默認了幾個adapter :ArrayAdapter盏阶,CursorAdapter和SimpleAdapter
RecyclerView:Adapter需要自己去寫
ListView 有item得監(jiān)聽函數(shù)晒奕,AdapterView.setOnClickListener
RecyclerView:需要自己去實現(xiàn)接口,來實現(xiàn)點擊名斟,雖然麻煩但是擴展性好
ListView 并不強制使用ViewHolder,如果需要自己定義脑慧,如使用,每次就會findVieeById砰盐,性能下降闷袒,滑動卡頓,所以強烈推薦使用
Recyc erView 必須使用ViewHolder
ListView 兩級緩存:緩存對象---View
1mActiveViews ---->用于屏幕內(nèi)得ItemView的快速重用
2mScrapViews----->用于緩存離開屏幕的ItemView
RecyclerView 四級緩存:緩存對象ViewHolder
1mChangeScrap+mAttachedScrap----->用于屏幕內(nèi)的ItemView的快速重用
2mCachedViews--->默認上限為2岩梳,即緩存屏幕外的2個ItemView
3mViewCacheExtension ---->給用戶自定義囊骤,一般不使用
4RecyclerViewPool默認上限是5