Listview的优化:
1.重用convertView
2.编写ViewHolder内部类
public View getView(int i, View convertView, ViewGroup viewGroup) {
ViewHolder viewHolder = null;
View view;
if(convertView==null)
{
viewHolder = new ViewHolder();
view = View.inflate(mContext,R.layout.item_list,null);
viewHolder.mImageView = (ImageView) view.findViewById(R.id.id_iv);
viewHolder.mTextViewDes = (TextView) view.findViewById(R.id.id_tv_description);
viewHolder.getmTextViewPrice = (TextView) view.findViewById(R.id.id_tv_price);
view.setTag(viewHolder);
}else{
view = convertView;
viewHolder = (ViewHolder) view.getTag();
}
viewHolder.mImageView.setImageResource(mList.get(i).image);
viewHolder.mTextViewDes.setText(mList.get(i).des);
viewHolder.getmTextViewPrice.setText(mList.get(i).price);
return view;
}
class ViewHolder{
public ImageView mImageView;
public TextView mTextViewDes;
public TextView getmTextViewPrice;
}
这样是listview华东起来更流畅,效果图如下:
本文介绍了一种提高Android应用中ListView滚动性能的方法,通过重用convertView和创建ViewHolder内部类来减轻内存负担并提升用户体验。
1016

被折叠的 条评论
为什么被折叠?



