Portuguese, Brazilian 字幕

← ListView and Recycling - Developing Android Apps

埋め込みコードを取得する
10言語

Showing Revision 13 created 06/20/2016 by Udacity Robot.

  1. A ListView começa solicitando uma exibição
    para cada item visível,
  2. tantos quantos você puder colocar na tela.
  3. Ela também cria algumas nas duas
    direções para garantir a rolagem
  4. sem que a tela pisque
    quando uma nova exibição é criada e preenchida.
  5. Depois, ela cria novos itens em tempo real.
  6. e a próxima linha
    será visível para o usuário.
  7. Se o usuário nunca rolar
    até embaixo na lista,
  8. o ListView nunca vai solicitar
    essa exibição do adaptador.
  9. Mas isso é realmente só a metade.
  10. Como dá para ver,
    se o usuário continuar rolando,
  11. podemos só continuar
    a adicionar novas exibições,
  12. mesmo que elas sumam
    do alto da tela.
  13. No final, isso vai causar
    o mesmo impacto no uso de memória
  14. e desempenho que se tivéssemos
    só criado todas essas exibições
  15. logo no começo.
  16. A solução é reciclar cada exibição
    conforme ela é rolada na tela,
  17. para que seja reusada
    quando precisarmos exibir outro item
  18. conforme ele fica visível no alto ou embaixo.
  19. Em vez de ter de criar
    e manter na memória
  20. cada item de lista
    conforme ele entra na exibição,
  21. só precisamos fazer a etapa de criação
    para o número de itens visíveis
  22. e alguns nos dois lados.
  23. Aí, sempre que um novo item
    de lista fica visível,
  24. só atualizamos os dados exibidos
    em um dos nossos itens na lixeira.
  25. O resultado?
  26. Menos sobrecarga da memória, rolagem mais suave
    e menos gerenciamento de exibição
  27. para você fazer.
  28. Esse comportamento de reciclagem é implementado
  29. em todas as classes descendentes do AdapterView,
    como GridView e ListView,
  30. e esse é o motivo
    para o adaptador não ser construído
  31. diretamente nesses controles.
  32. Ao ser mantido separado,
  33. o adaptador define como exibir
    cada elemento dos dados subjacentes,
  34. enquanto a implementação
    da AdapterView
  35. é responsável por controlar
    como cada elemento é apresentado,
  36. seja em uma lista ou
    em uma grade, nesses exemplos.