在说listView混乱问题前,先说下listView的工作原理。以前只是知道ListView+convertView+ViewHolder 可以大大的提高效率,但是不明白为什么会是这样。
ListView根据每一条Item会要求adapter返回一个视图(getView),在listView开始绘制的时候,会先调用getCount()函数得到listView的长度,根据长度绘制每一条item。如果返回0,不绘制,如果返回1,绘制一行。 那么假如有一亿行,那岂不是要绘制一亿行了? 哈哈 。。。当然不是这样的, 实际上android早已缓存了这些视图,android有一个Recycler的构建。工作原理如下:
只有可见的视图是存在内存中的&