您的位置:首页 > 其它

ListView 的优化

2017-01-20 10:02 127 查看
 
listView 的宽高设为固定, 或match_parent,这样在加载布局是, 几面装下几个item 就首先加载几个

减少对象的创建

//减少对象的创建
if (convertView == null) {
//实例化一个布局文件
convertView = LayoutInflater.from(context).inflate(R.layout.my_simple_adapter, null);
}


  

使用ViewHolder 提高查找组件的效率

@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder viewHolder;
//减少对象的创建
if (convertView == null) {
//实例化一个布局文件
convertView = LayoutInflater.from(context).inflate(R.layout.my_simple_adapter, null);
viewHolder = new ViewHolder();
viewHolder.img = (ImageView) convertView.findViewById(R.id.img);
viewHolder.title = (TextView) convertView.findViewById(R.id.text);
convertView.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) convertView.getTag();
}
System.out.println(convertView);
viewHolder.title.setText(titles[position]);
viewHolder.img.setImageResource(icons[position]);
return convertView;
}
//用于保存第一次查找的组件, 避免下次重复查找
static class ViewHolder {
//不封装  效率更高
ImageView img;
TextView title;
}
}


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: