devterview_$ iniciar simulação

`const` widgets e o custo de reconstrução

MédioPlenoPerformance

Pergunta

Por que marcar widgets como `const` no Flutter ajuda a performance, e o que mais evita reconstrução desnecessária?

Resposta esperada

Um `const` widget é criado UMA vez em compile time e reutilizado — quando o pai reconstrói, o Flutter vê que a instância `const` é literalmente a mesma (identidade), pula a comparação e não reconstrói aquela subárvore. Sem `const`, cada `build` do pai cria uma instância nova do filho, e o Flutter tem que comparar pra decidir se muda o Element. Em telas com muitos widgets estáticos (ícones, textos fixos, paddings), isso soma. Outras práticas: quebrar a árvore pra que só a parte que muda esteja abaixo do `setState` (um widget pequeno com estado, não a tela inteira); passar filhos como `child`/`children` pré-construídos pra um widget que reconstrói (o `child` não é reconstruído junto); usar `const` construtores nos seus próprios widgets sempre que os campos permitirem. O `flutter analyze` / lints sugerem `const` onde cabe.

Por que perguntam isso

Pergunta pleno de Flutter. Sinal bom: 'isolar o setState num widget pequeno' e o truque do `child` pré-construído.

#const#rebuild#performance
publicidade

Relacionadas