最近换工作了,有了些时间,我也来写博客啦!
listview我们都知道用ViewHolder来实现它的复用机制,那它的原理是什么呢?
listview继承于AbsListview,它的具体实现是:
1.AbsListview中有两个view,activeview和scrapview;
2.activeview表示显示数据,如果设置了tag后,显示的数据会存放到scrapview中;
3.数据第一次显示时,会存放的activeview中显示,并且存放到scrapview中;
4.当list来回滑动,就会到scrapview根据position去寻找这个tag,如果有这个tag,就会从scrapview中去读取并显示到activeview中;没有这个tag,就会去读取新的数据。