目前我们ListView的运行效率是很低的,因为每次getView()方法中每次都将布局重新加载一遍,
当ListView快速滚动的时候就会成为性能的瓶颈
解决办法:在getView()方法中还有一个convertView参数,这个参数用于将之前加载好的布局进行缓存,
以便之后进行重用,所以在getView()方法中进行判断,如果convertView为空,则使用LayoutInflater
去加载布局,如果不为空,则直接对convertView进行重用,这样就打打提高了ListView的运行效率
在快速滚动的时候也可以表现出更好的性能。
继续优化: 在getView()方法中还是会调用View的findViewById()方法来获取一次控件的实现,可以借助ViewHolder
来对这部分进行优化。
时间: 2024-10-12 02:11:55