listview的优化

来源:互联网 发布:步惊云软件 编辑:程序博客网 时间:2024/06/06 01:05


优化1:加载布局优化:复用convertView 还有

减少item的布局的深度:我们应该尽量减少item布局深度,因为当滑动ListView的时候,这回直

接导致测量与绘制,因此会浪费大量的时间,所以我们应该将一些不必要的布局嵌套关系去掉。减少item布局深度

优化2:加载控件优化:使用内部类Viewholder,同时还能避免在getview 中创建大量大量实例对象,避免频繁Gc.


优化3:在getview中尽量少使用逻辑:如果要使用,尽量保保证在第一次加

载(convertView 为null)的时候使用,因为其它时候会直接复用.


优化4:从网上加载图片的时候:我们不要在ListView滑动的时候加载图片:

那样会使ListView变得卡顿,所以我们需要再监听器里面监听ListView的状态,如果滑动的时候,停

止加载图片,如果没有滑动,则开始加载图片

listView.setOnScrollListener(new OnScrollListener() {            @Override            public void onScrollStateChanged(AbsListView listView, int scrollState) {                    //停止加载图片                     if (scrollState == AbsListView.OnScrollListener.SCROLL_STATE_FLING) {                            imageLoader.stopProcessingQueue();                    } else {                    //开始加载图片                            imageLoader.startProcessingQueue();                    }            }            @Override            public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {                    // TODO Auto-generated method stub            }    });

补充:listview的原理:http://blog.csdn.net/libmill/article/details/49644743

原创粉丝点击