Qual é o benefício do ViewHolder?

Quando você está desenvolvendo um programa Android; e você quer ter umArrayAdapter você pode simplesmente ter uma aula (na maioria das vezes comViewHolder sufixo) ou inflar diretamente seuconvertView e encontre sua visão por ID.
Então, qual é o benefício de usar o ViewHolder?
O exemplo de ambos aqui:

        if(convertView==null)
        {
            convertView = ((Activity)_context).getLayoutInflater().inflate(R.layout.row_phrase, null);
        }
((TextView)convertView.findViewById(R.id.txtPhrase)).setText("Phrase 01");  

Ou:

static class ViewHolder {   
ImageView leftIcon;   
TextView upperLabel;  
TextView lowerLabel;  
}

e finalmente no getView:

ViewHolder holder = null;
  if (view == null) {
 ,  view = LayoutInflater.from(context).inflate(R.layout.row_layout,
   null, false);
   holder = new ViewHolder();
   holder.leftIcon = (ImageView) view.findViewById(R.id.leftIcon);

questionAnswers(4)

yourAnswerToTheQuestion