- getView()在ListView中會(huì)不斷的被調(diào)用,無(wú)論是用convertView + ViewHolder進(jìn)行優(yōu)化。
- ViewHolder只會(huì)被創(chuàng)建一個(gè)屏幕中條目的個(gè)數(shù),即convertView == null條件滿足的次數(shù)
class TigerAdapter extends BaseAdapter {
@Override
public int getCount() {
// TODO Auto-generated method stub
return 500;
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
System.out.println("我被調(diào)用了?。。。?!" + position);
ViewHolder viewHolder;
if (convertView == null) {
convertView = new TextView(mContext);
viewHolder = new ViewHolder();
System.out.println("ViewHolder被調(diào)用了");
convertView.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) convertView.getTag();
}
((TextView) convertView).setTextSize(28);
return convertView;
}
}

Paste_Image.png