Özet - Performans
- Flutter kursu
- Uzman seviye
- Ders 10/39
- 4 dk
Profile, RepaintBoundary ve const'u birleştirerek optimizasyon yaparsın.
Özet - Performans
Bir uygulama optimize ederken üç silah birlikte kullanılır: profile modu ile darboğazları bul, RepaintBoundary ile gereksiz çizim alanlarını ayır, const ile sabit widget'ları yeniden yaratmaktan kaçın. Bu üçü birlikte büyük performans kazancı sağlar.
RepaintBoundary(
child: const Text('Sablon'),
)
// profile modunda darboğazı ölçUygulama RepaintBoundary ve const birleştir
main içinde bir RepaintBoundary widget'ı oluştur: child olarak const Text('Sablon') ver. Widget'ın runtimeType'ını yazdır.
Başlangıç kodu
import 'package:flutter/material.dart';
void main() {
// RepaintBoundary oluştur, child Sablon metnini const olarak tutsun
// runtimeType yazdır
}Örnek çözüm
import 'package:flutter/material.dart';
void main() {
final widget = RepaintBoundary(
child: const Text('Sablon'),
);
print(widget.runtimeType);
}Beklenen çıktı
RepaintBoundary
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 RepaintBoundary ve const birlikte ne sağlar?
- Daha iyi state yönetimi
- Yeniden çizim ve rebuild maliyetini azaltır Doğru cevap
- Sadece bellek tasarrufu
- Daha hızlı HTTP
Açıklama: RepaintBoundary gereksiz paint'i önler, const gereksiz rebuild'i önler; ikisi birlikte çizim ve yeniden oluşturma maliyetini düşürür.
2 const RepaintBoundary child
RepaintBoundary(
child: ____ Text('Sablon'),
)
RepaintBoundary(
child: const Text('Sablon'),
)
Açıklama: const Text('Sablon') derleme zamanında oluşturulur; new, final ve var runtime nesnesi üretir ve rebuild maliyeti doğurur.
3 Optimizasyon eşleşmeleri
| Kavram | Anlamı |
|---|---|
profile |
Darboğaz ölçümü |
RepaintBoundary |
Çizim alanı ayırma |
const |
Sabit widget |
ListView |
Verimli liste |