Build owner
- Flutter kursu
- Uzman seviye
- Ders 4/39
- 4 dk
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
import 'package:flutter/widgets.dart';
void main() {
// BuildOwner örneği oluştur ve runtimeType yazdır
}Örnek çözüm
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ı
owner.____(element);
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ı |