Mémoire & Performance
Memory leaks, dispose, DevTools profiler, widget rebuilds, const constructors, keys
1Quelle méthode doit être appelée dans dispose() pour éviter une fuite mémoire avec un AnimationController ?
Quelle méthode doit être appelée dans dispose() pour éviter une fuite mémoire avec un AnimationController ?
Réponse
La méthode dispose() de l'AnimationController libère les ressources associées au contrôleur d'animation, notamment les listeners et les timers internes. Sans cet appel, le contrôleur continue de fonctionner en arrière-plan même après la destruction du widget, provoquant une fuite mémoire et potentiellement des erreurs si le contrôleur tente de mettre à jour un widget supprimé.
2Quel outil de Flutter DevTools permet d'identifier les fuites mémoire ?
Quel outil de Flutter DevTools permet d'identifier les fuites mémoire ?
Réponse
Le Memory Profiler de Flutter DevTools offre une vue détaillée de l'utilisation mémoire de l'application. Il permet de capturer des snapshots du heap, d'analyser les objets en mémoire, de détecter les instances qui ne sont pas collectées par le garbage collector et d'identifier les références qui empêchent la libération de mémoire.
3Comment réduire les rebuilds inutiles d'un widget dans Flutter ?
Comment réduire les rebuilds inutiles d'un widget dans Flutter ?
Réponse
Utiliser const devant les constructeurs de widgets permet au framework de réutiliser la même instance plutôt que d'en créer une nouvelle à chaque build. Cela évite les reconstructions inutiles car Flutter reconnaît que le widget n'a pas changé. Les widgets const sont créés à la compilation et gardés en mémoire pour être réutilisés.
Quelle est la cause principale d'une fuite mémoire avec un StreamController ?
Quel type de Key utiliser pour optimiser les performances d'une ListView avec des éléments réordonnables ?
+19 questions d'entretien
Autres sujets d'entretien Flutter
Les bases de Dart
Essentiels du langage Dart
Fondamentaux Flutter
Cycle de vie des Widgets
Stockage local Flutter
Cycle de vie de l'application
Layouts & Constraints
ListView & GridView
Navigation & Routing
State Management de base
Provider Pattern
Networking & HTTP
Sérialisation JSON
Base de données locale
Formulaires & Validation
Animations
Intégration Firebase
Tests unitaires
Tests de widgets
Build & Déploiement
Gestion des packages
Streams & RxDart
State Management avancé
Flutter Design Patterns
Optimisation des performances
Platform Channels
Custom Painting
Architecture d'application Flutter
Maîtrise Flutter pour ton prochain entretien
Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.
Commencer gratuitement