Flutter

Memoria e prestazioni

Memory leak, dispose, DevTools profiler, rebuild dei widget, const constructors, keys

22 domande da colloquio·
Senior
1

Quale metodo deve essere chiamato in dispose() per evitare un memory leak con un AnimationController?

Risposta

Il metodo dispose() dell'AnimationController rilascia le risorse associate al controller di animazione, inclusi i listener e i timer interni. Senza questa chiamata, il controller continua a funzionare in background anche dopo la distruzione del widget, causando un memory leak e potenzialmente errori se il controller tenta di aggiornare un widget rimosso.

2

Quale strumento di Flutter DevTools consente di identificare i memory leak?

Risposta

Il Memory Profiler di Flutter DevTools offre una visione dettagliata dell'utilizzo della memoria dell'applicazione. Consente di catturare snapshot dello heap, analizzare gli oggetti in memoria, rilevare le istanze non raccolte dal garbage collector e identificare i riferimenti che impediscono la liberazione della memoria.

3

Come ridurre i rebuild non necessari di un widget in Flutter?

Risposta

Usare const davanti ai costruttori dei widget consente al framework di riutilizzare la stessa istanza invece di crearne una nuova a ogni build. Questo evita i rebuild non necessari perché Flutter riconosce che il widget non è cambiato. I widget const vengono creati in fase di compilazione e mantenuti in memoria per il riutilizzo.

4

Qual è la causa principale di un memory leak con uno StreamController?

5

Quale tipo di Key usare per ottimizzare le prestazioni di una ListView con elementi riordinabili?

+19 domande da colloquio

Padroneggia Flutter per il tuo prossimo colloquio

Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.

Inizia gratis