android通过复用convertView 以及使用类viewHolder 对listView进行优化
demo效果
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder viewHolder;
if(convertView == null){
Log.v(TAG,"new convertView");
convertView = LayoutInflater.from(context).inflate(R.layout.item_list, null);
viewHolder = new ViewHolder();
viewHolder.tv_id = (TextView) convertView.findViewById(R.id.tv_show_id);
viewHolder.tv_name = (TextView) convertView.findViewById(R.id.tv_show_name);
convertView.setTag(viewHolder);
} else {
Log.v(TAG,"复用convertView和ViewHolder");
viewHolder = (ViewHolder) convertView.getTag();
}
viewHolder.tv_id.setText(list.get(position).getId() + "");
viewHolder.tv_name.setText(list.get(position).getName());
return convertView;
}
private class ViewHolder{
TextView tv_id;
TextView tv_name;
}
本文介绍了一种通过复用convertView和使用ViewHolder模式来优化Android中ListView性能的方法。这种方式可以显著减少每次滚动ListView时创建新View的开销,从而提高应用的响应速度。
406

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



