listview的工作原理:
ListView 针对List中每个item,要求 adapter “给我一个视图” (getView)。一个新的视图被返回并显示。假如有许多个item需要显示。将会用到Android提供的一个重复利用的机制叫做“Recycler”。listview将会如下执行:
一、如果手机的一屏能容下10个item,首先会绘制10个view,然后与数据绑定,显示出来。
二、当滑动到第11个Item的时候,第一个item会放入“recycler”,如果第11个Item和放入“Recycler”的item的view一致,那么就会使用"Recycler"里面的Item来显示,从而不用再重复inflate一次。
三、以此类推。
BaseAdapter的执行过程:
一、初始化BaseAdapter;
二、执行getCount()方法,如果返回值不为0,则继续执行getView方法。
三、绘制一个view并显示出来。
说明:当listview刷新、或者数据源变动的时候也会重新执行getView方法。例如调用notifyDataSetInvalidated()方法。