ListView 的优化
Posted 八十年代的金坛县
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ListView 的优化相关的知识,希望对你有一定的参考价值。
- 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; } }
以上是关于ListView 的优化的主要内容,如果未能解决你的问题,请参考以下文章
片段中 ListView 的 setOnItemClickListener