Чтобы подтвердить это, я проверил его с помощью TraceView Profiler и обнаружил, что этот класс вообще не использует представления повторно и вызывает метод inflate() для каждого вызова внутри getView().
Вот как я разрабатываю адаптер:
Код: Выделить всё
public View getView(final int position, View convertView, ViewGroup parent) {
final BaseAssets baseAsset = baseAssetsList.get(position);
if (convertView == null) {
viewHolder = new ViewHolder();
convertView = inflater.inflate(R.layout.gallery_list_item, parent, false);
viewHolder.newLabel = (ImageView) convertView.findViewById(R.id.iv_new);
viewHolder.assetImage = (ImageView) convertView.findViewById(R.id.iv_thumbnail);
convertView.setTag(viewHolder);
} else
viewHolder = (ViewHolder) convertView.getTag();
}
class ViewHolder {
ImageView newLabel;
ImageView assetImage;
}
Подробнее здесь: https://stackoverflow.com/questions/163 ... ry-subview
Мобильная версия