ListView和RecyclerView緩存機制對比

學習自html

https://www.cnblogs.com/ganchuanpu/p/8258459.html緩存

 

簡單來講學習

item從屏幕消失,就會扔給容器;htm

item從屏幕顯示,會從容器去取。blog

 

詳細來講get

ListView有it

1.快速重用屏幕上可見的item,不須要bindclass

2.廢棄的item緩存,須要bind容器

RecyclerView有List

1.快速重用屏幕上可見的item,不須要bind

2.廢棄的item緩存,須要bind

3.多出4行的cache,不須要bind

 

RecyclerView的特色

RecyclerView獨有的會在屏幕以外建立4行item,使得哪怕屏幕以外,也能不須要bind

RecyclerViewPool能夠供多個RecyclerView使用

 

ListView流程圖

RecyclerView流程圖

 

(第一重的緩存看上去可能有點難以理解——快速重用屏幕上可見的item,其實在滑動的時候回從新layout全部item,咱們須要緩存下某個時間的全部item,在滑動後若是某些item依然存在屏幕中,則複用這些item並進行layout)