优化listview的方法

来源:互联网 发布:香港青旅 知乎 编辑:程序博客网 时间:2024/05/22 14:32

从知乎整理,感谢所有的参与者!

1.      在getView中,多个点击事件可以共用一个OnClickListener,避免创建多个对象。传递数据可以使用getTag和setTag方法设定。

2.      利用ViewHolder缓存,避免每次创建新的View

3.      让itemView的layout层级越简单越好。避免过度重绘——这是所有布局都应该遵循原则。

4.    尽量能保证 Adapter hasStableIds()返回 true,这样在 notifyDataSetChanged()的时候,如果 id 不变,ListView 将不会重新绘制这个 View,达到优化的目的;

5.      为了保证 ListView滑动的流畅性,getView()中要做尽量少的事情,不要有耗时的操作。特别是滑动的时候不要加载图片,停下来再加载。使用GlidePicasso等库可以帮助。

6.    使用 RecycleView代替。 ListView每次更新数据都要 notifyDataSetChanged(),有些太暴力了。RecycleView在性能和可定制性上都有很大的改善,推荐使用。

7.      参见:http://www.imlongluo.com/blog/?p=263

 

0 0
原创粉丝点击