ListView & GridView
ListView, ListView.builder, GridView, ScrollController, reutilização de itens, lazy loading
1Qual é a principal diferença entre ListView() e ListView.builder() no Flutter?
Qual é a principal diferença entre ListView() e ListView.builder() no Flutter?
Resposta
O ListView() cria todos os seus filhos imediatamente, o que pode causar problemas de desempenho com listas longas. O ListView.builder() usa lazy loading e só cria os widgets quando eles se tornam visíveis na tela. Para listas com muitos elementos, o ListView.builder() é recomendado, pois otimiza a memória e o desempenho reciclando os widgets fora da tela.
2Qual parâmetro do ListView.builder() é obrigatório para especificar o número de elementos a exibir?
Qual parâmetro do ListView.builder() é obrigatório para especificar o número de elementos a exibir?
Resposta
O parâmetro itemCount informa ao ListView.builder() quantos elementos a lista contém. Sem esse parâmetro, a lista seria considerada infinita e o itemBuilder seria chamado indefinidamente. Definir o itemCount permite que o framework saiba quando parar de construir elementos e exibir corretamente o indicador de rolagem.
3Como adicionar um separador entre cada elemento de uma ListView?
Como adicionar um separador entre cada elemento de uma ListView?
Resposta
O ListView.separated() foi projetado especificamente para exibir separadores entre os elementos. Ele recebe um separatorBuilder além do itemBuilder, permitindo definir um widget personalizado (como um Divider) entre cada elemento. Essa abordagem é mais limpa do que adicionar separadores manualmente no itemBuilder.
Como criar uma ListView horizontal no Flutter?
Qual é o papel do parâmetro shrinkWrap em uma ListView?
+22 perguntas de entrevista
Outros temas de entrevista Flutter
Fundamentos de Dart
Fundamentos da linguagem Dart
Fundamentos do Flutter
Ciclo de vida dos Widgets
Armazenamento local
Ciclo de vida do aplicativo
Layouts & Constraints
Navegação e roteamento
Gerenciamento de estado básico
Provider Pattern
Networking & HTTP
Serialização JSON
Banco de dados local
Formulários e validação
Animações
Integração com Firebase
Testes unitários
Testes de widgets
Build e Deploy
Gerenciamento de pacotes
Memória e desempenho
Streams & RxDart
State Management avançado
Flutter Design Patterns
Otimização de desempenho
Platform Channels
Custom Painting
Arquitetura de aplicativos Flutter
Domine Flutter para sua proxima entrevista
Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.
Comece gratis