Flutter

Pamięć i wydajność

Wycieki pamięci, dispose, DevTools profiler, przebudowy widgetów, const constructors, keys

22 pytań z rozmów·
Senior
1

Którą metodę należy wywołać w dispose(), aby uniknąć wycieku pamięci z AnimationController?

Odpowiedź

Metoda dispose() obiektu AnimationController zwalnia zasoby związane z kontrolerem animacji, w tym listenery i wewnętrzne timery. Bez tego wywołania kontroler nadal działa w tle nawet po zniszczeniu widgetu, powodując wyciek pamięci i potencjalnie błędy, jeśli kontroler próbuje zaktualizować usunięty widget.

2

Które narzędzie Flutter DevTools pozwala identyfikować wycieki pamięci?

Odpowiedź

Memory Profiler w Flutter DevTools zapewnia szczegółowy widok zużycia pamięci aplikacji. Pozwala przechwytywać snapshoty sterty (heap), analizować obiekty w pamięci, wykrywać instancje niezbierane przez garbage collector oraz identyfikować referencje uniemożliwiające zwolnienie pamięci.

3

Jak ograniczyć niepotrzebne przebudowy widgetu we Flutterze?

Odpowiedź

Użycie const przed konstruktorami widgetów pozwala frameworkowi ponownie wykorzystać tę samą instancję zamiast tworzyć nową przy każdym build. Zapobiega to niepotrzebnym przebudowom, ponieważ Flutter rozpoznaje, że widget się nie zmienił. Widgety const są tworzone w czasie kompilacji i przechowywane w pamięci do ponownego użycia.

4

Jaka jest główna przyczyna wycieku pamięci związanego ze StreamController?

5

Którego typu Key należy użyć, aby zoptymalizować wydajność ListView z elementami możliwymi do zmiany kolejności?

+19 pytań z rozmów

Opanuj Flutter na następną rozmowę

Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.

Zacznij za darmo