Sobes.tech
Middle

Fale sobre construtores constantes no Flutter.

sobes.tech IA

Resposta da IA

O construtor constante permite criar um objeto que o compilador pode calcular durante a compilação e reutilizar. Isso melhora o desempenho e reduz o consumo de memória.

Características principais:

  • Marcado com a palavra-chave const.
  • Todos os campos da classe definidos por esse construtor devem ser final.
  • Todos os argumentos do construtor também devem ser constantes ou ter valores padrão constantes.
  • Ao criar uma instância com esse construtor, usa-se a palavra-chave const.

Exemplo:

class Point {
  final double x;
  final double y;

  const Point(this.x, this.y); // Construtor constante
}

void main() {
  // Esses dois objetos representarão a mesma instância na memória
  const p1 = Point(1.0, 2.0);
  const p2 = Point(1.0, 2.0);

  // Este objeto será uma nova instância
  final p3 = Point(1.0, 2.0);

  print(identical(p1, p2)); // Irá imprimir: true
  print(identical(p1, p3)); // Irá imprimir: false
}

Vantagens de usar construtores const:

  • Desempenho: Os objetos são criados apenas uma vez e reutilizados.
  • Redução do consumo de memória: Diminui a quantidade de objetos criados.
  • Imutabilidade: Os objetos criados com const são imutáveis.

Restrições:

  • A classe não deve ter um construtor de fábrica (factory).
  • A classe não pode conter campos mutáveis.

Construtores constantes são frequentemente usados para criar widgets imutáveis no Flutter, como Text, Icon, Padding, SizedBox, o que é uma boa prática para otimizar o desempenho da interface do usuário.