Flutter

Speicher & Performance

Memory Leaks, dispose, DevTools Profiler, Widget-Rebuilds, const constructors, keys

22 Interview-Fragen·
Senior
1

Welche Methode muss in dispose() aufgerufen werden, um ein Memory Leak mit einem AnimationController zu vermeiden?

Antwort

Die dispose()-Methode des AnimationController gibt die mit dem Animationscontroller verbundenen Ressourcen frei, einschließlich Listener und interner Timer. Ohne diesen Aufruf läuft der Controller auch nach der Zerstörung des Widgets im Hintergrund weiter, was zu einem Memory Leak führt und möglicherweise Fehler verursacht, wenn der Controller versucht, ein entferntes Widget zu aktualisieren.

2

Welches Flutter-DevTools-Werkzeug ermöglicht das Identifizieren von Memory Leaks?

Antwort

Der Memory Profiler in Flutter DevTools bietet eine detaillierte Ansicht der Speichernutzung der Anwendung. Er ermöglicht das Erfassen von Heap-Snapshots, das Analysieren von Objekten im Speicher, das Erkennen von Instanzen, die vom Garbage Collector nicht eingesammelt werden, und das Identifizieren von Referenzen, die die Freigabe von Speicher verhindern.

3

Wie kann man unnötige Widget-Rebuilds in Flutter reduzieren?

Antwort

Die Verwendung von const vor Widget-Konstruktoren ermöglicht es dem Framework, dieselbe Instanz wiederzuverwenden, anstatt bei jedem Build eine neue zu erstellen. Dies verhindert unnötige Rebuilds, da Flutter erkennt, dass sich das Widget nicht geändert hat. Const-Widgets werden zur Kompilierzeit erstellt und zur Wiederverwendung im Speicher gehalten.

4

Was ist die Hauptursache für ein Memory Leak mit einem StreamController?

5

Welcher Key-Typ sollte verwendet werden, um die Performance einer ListView mit umsortierbaren Elementen zu optimieren?

+19 Interview-Fragen

Meistere Flutter für dein nächstes Interview

Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.

Kostenlos starten