ListView 的优化原理

Listview的执行顺序

1.先执行getCount()返回数据源的长度

2.根据数据源长度,执行getView()进行绘制View


Listview的缓存

convertView相当于一个缓存,开始为空,当有item不可见的时候,convertView将回收他的数据。后面在更新的条目只需要更新这个convertView就可以了,这样可以大大节省内存开销


ListView优化

优化ListView必须复用convertView,首先创建一个ViewHolder类,用于存放组件,其次判断convertView是否为空。当为空时,用setTag()为每个view绑定一个存放控件的ViewHolder对象。不为空时,需要使用getTag()获取绑定的ViewHolder对象,从而实现重复利用convertView,避免创建更多View对象


你可能感兴趣的:(数据源,回收)