Android开发系列之ListView

      在Android开发中,我们最常接触的控件之一就是ListView,因为我们常常需要展示列表文本或者图片信息。但是因为ListView所展示的信息容量太大了,所以如果我们处理不当的话,那么就有可能会带来性能问题。

      优化之一就是在Adapter里面采用ViewHolder进行视图缓存,避免了每次在调用getView()的时候都去通过findViewById()实例化控件。据测试,使用ViewHolder将提高50%以上的效率。具体的使用方法很多,读者可以自行进行查找。

      优化之二直接利用属性设置分割线,通过属性divider可以设置分割线的颜色,通过dividerHeight可以设置分割线的高度。这样的话,我们就不需要在adapter加载的item view单独设置一个分割线了。

      优化之三隐藏滚动条和取消ListView的item点击效果,可以分别通过属性android:scrollbars="none"和android:listSelector="@android:color/transparent"。

      优化之四遍历ListView中的所有item,通过代码:for循环,mListView.getChildAt(i)获取。

      优化之五处理空ListView,通过调用setEmptyView设置一个空的显示页面。

      优化之六在onTouchEvent事件里面,判断上滑、还是下滑,进而实现一些定制化的效果。

      demo微信聊天页面,我们可以在Adapter的getView方法里面,根据一个聊天类型加载不同的View。

posted on 2017-01-20 11:34  蔡鸿军  阅读(97)  评论(0编辑  收藏  举报