CodeBlanks Logo Icon CodeBlanks

const ve ListView.builder

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ı nesne

ListView.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

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

void main() {
  // ListView.builder oluştur: itemCount 10, itemBuilder (context, i) => Text('$i')
  // runtimeType yazdır
}

Örnek çözüm

main.dart
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

Soru
ListView.____(itemCount: 100, itemBuilder: (context, i) => Text('$i'))
Cevap
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ı

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