list View_Adapter优化

1.使用 convertView 回收视图, 效率提高 

public  View getView( int  position, View convertView, ViewGroup parent) {
      if  (convertView == null ) {
           convertView = mInflater.inflate(R.layout.item, null );
      }
 
      ((TextView) convertView.findViewById(R.id.text)).setText(DATA[position]);
      ((ImageView) convertView.findViewById(R.id.icon)).setImageBitmap(
                (position & 1 ) == 1  ? mIcon1 : mIcon2);
 
      return  convertView;
}

2.使用 ViewHolder 模式, 效率再提高

class  ViewHolder {
     TextView text;
     ImageView icon;
}
public  View getView( int  pos, View convertView, ViewGroup parent){
     ViewHolder holder;
     if  (convertView == null) {
         convertView = mInflater.inflate(R.layout.list_item, null);
         holder = new  ViewHolder(); 
         holder.text = (TextView) convertView.findViewById(R.id.text));
         holder.icon = (ImageView) convertView.findViewButId(R.id.icon));
         convertView.setTag(holder);
     } else  {
         holder = (ViewHolder) convertView.getTag();
    
     holder.text.setText(DATA[pos]);
     holder.icon.setImageBitmap((pos & 1) == 1 ? mIcon1 : mIcon2);
     return  convertView;
}

猜你喜欢

转载自blog.csdn.net/weixin_41665521/article/details/80812315