优化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