Memoria e prestazioni
Memory leak, dispose, DevTools profiler, rebuild dei widget, const constructors, keys
1Quale metodo deve essere chiamato in dispose() per evitare un memory leak con un AnimationController?
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.
2Quale strumento di Flutter DevTools consente di identificare i memory leak?
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.
3Come ridurre i rebuild non necessari di un widget in Flutter?
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.
Qual è la causa principale di un memory leak con uno StreamController?
Quale tipo di Key usare per ottimizzare le prestazioni di una ListView con elementi riordinabili?
+19 domande da colloquio
Altri argomenti di colloquio Flutter
Fondamenti di Dart
Fondamenti del linguaggio Dart
Fondamenti di Flutter
Ciclo di vita dei Widget
Archiviazione locale
Ciclo di vita dell'applicazione
Layouts & Constraints
ListView & GridView
Navigazione e routing
Gestione dello stato di base
Provider Pattern
Networking & HTTP
Serializzazione JSON
Database locale
Moduli e validazione
Animazioni
Integrazione Firebase
Test unitari
Test dei widget
Build e Deployment
Gestione dei pacchetti
Streams & RxDart
State Management avanzato
Flutter Design Patterns
Ottimizzazione delle prestazioni
Platform Channels
Custom Painting
Architettura delle applicazioni Flutter
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