CodeBlanks Logo Icon CodeBlanks

Build owner

BuildOwner'ın build sürecini nasıl yönettiğini öğrenirsin.

Build owner

BuildOwner, build sürecini yöneten nesnedir. Bir widget dirty işaretlendiğinde scheduleBuild ile bir sonraki frame'de build planlanır. BuildOwner hangi elementlerin yeniden build edilmesi gerektiğini izler.

final owner = BuildOwner();
owner.scheduleBuildFor(element);
owner.buildScope(element);

Dirty element

Bir element setState çağrıldığında dirty bayrağıyla işaretlenir. BuildOwner dirty elementleri toplayıp buildScope içinde yeniden build eder. Bu, Flutter'ın verimli güncelleme modelidir.

Uygulama BuildOwner örneği

main içinde bir BuildOwner örneği oluştur ve runtimeType'ını yazdır.

Başlangıç kodu

main.dart
import 'package:flutter/widgets.dart';

void main() {
  // BuildOwner örneği oluştur ve runtimeType yazdır
}

Örnek çözüm

main.dart
import 'package:flutter/widgets.dart';

void main() {
  final owner = BuildOwner();
  print(owner.runtimeType);
}

Beklenen çıktı

BuildOwner

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 scheduleBuild ne yapar?

  • RenderObject oluşturur
  • Dirty elementi bir sonraki frame'de build etmek için planlar Doğru cevap
  • HTTP çağrısı yapar
  • Elementi siler

Açıklama: scheduleBuild, dirty işaretli elementi bir sonraki frame'de build edilmek üzere BuildOwner kuyruğuna alır; hemen build etmez.

2 buildScope çağrısı

Soru
owner.____(element);
Cevap
owner.buildScope(element);

Açıklama: owner.buildScope(element) dirty elementlerin build edilmesini tetikler; scheduleBuildFor yalnızca planlama yapar, mount ilk eklemede, dispose ağaçtan çıkarmada kullanılır.

3 BuildOwner eşleşmeleri

Kavram Anlamı
BuildOwner Build yöneticisi
scheduleBuild Build planlar
dirty Yeniden build gerekiyor
buildScope Build alanı

Uzman seviye bölümündeki tüm dersler