Почему в шаблоне ViewHolder класс ViewHolder должен быть статическим?

Я просто пытаюсь лучше понять следующую схему, которую я регулярно использую для оптимизацииListView

Мои чтения только указали мне на тот факт, что статический внутренний класс рассматривается как класс верхнего уровня. В чем преимущество такой вещи по сравнению с классом-членом (не статичным)?

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    Comment comment = getItem(position);
    ViewHolder holder;
    if (convertView == null){
        holder = new ViewHolder();
        convertView = LayoutInflater.from(context).inflate(R.layout.mylayout, null);
        holder.nickname = (TextView) ((ViewGroup) convertView).findViewById(R.id.nickname);
        convertView.setTag(holder);
    }else{
        holder = (ViewHolder) convertView.getTag();
    }

    holder.nickname.setText(comment.getMember_nickname());
    CharSequence
    return convertView;
}

public static class ViewHolder{
    TextView nickname;
}

Ответы на вопрос(2)

Ваш ответ на вопрос