const ve ListView.builder
- Flutter kursu
- Uzman seviye
- Ders 9/39
- 4 dk
const widget ve builder'ın performansa etkisini öğrenirsin.
const widget
const widget'lar derleme zamanında oluşturulur ve rebuild sırasında yeniden yaratılmaz. Bu, gereksiz build ve paint işlemlerini önler. const Text('Merhaba') her frame'de aynı nesneyi kullanır.
const Text('Merhaba')
// her rebuild'de aynı nesneListView.builder
ListView.builder, yalnızca ekranda görünen öğeleri oluşturur; uzun listelerde ListView'den çok daha verimlidir. itemCount ve itemBuilder parametreleri alır.
ListView.builder(
itemCount: 1000,
itemBuilder: (context, index) => Text('$index'),
)Uygulama ListView.builder oluştur
main içinde bir ListView.builder widget'ı oluştur: itemCount: 10, itemBuilder: (context, i) => Text('$i'). Widget'ın runtimeType'ını yazdır.
Başlangıç kodu
import 'package:flutter/material.dart';
void main() {
// ListView.builder oluştur: itemCount 10, itemBuilder (context, i) => Text('$i')
// runtimeType yazdır
}Örnek çözüm
import 'package:flutter/material.dart';
void main() {
final widget = ListView.builder(
itemCount: 10,
itemBuilder: (context, i) => Text('$i'),
);
print(widget.runtimeType);
}Beklenen çıktı
ListView
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 const widget ne zaman oluşturulur?
- Her rebuild'de yeniden
- Hiçbir zaman
- Derleme zamanında, rebuild'de tekrar kullanılır Doğru cevap
- Yalnızca runtime'da
Açıklama: const widget derleme zamanında bir kez oluşturulur; rebuild sırasında aynı nesne tekrar kullanılır, bu yüzden build ve paint maliyeti sıfıra iner.
2 ListView.builder kullan
ListView.____(itemCount: 100, itemBuilder: (context, i) => Text('$i'))
ListView.builder(itemCount: 100, itemBuilder: (context, i) => Text('$i'))
Açıklama: ListView.builder yalnızca görünen öğeleri oluşturur; separated ayracı olan listeler için, custom sliver tabanlı listeler içindir.
3 const ve ListView.builder eşleşmeleri
| Kavram | Anlamı |
|---|---|
const |
Derleme zamanı sabit |
ListView |
Liste widget'ı |
builder |
Görünen öğeyi oluşturur |
itemCount |
Toplam öğe sayısı |