Memoria y rendimiento
Memory leaks, dispose, DevTools profiler, reconstrucciones de widgets, const constructors, keys
1¿Qué método debe llamarse en dispose() para evitar una fuga de memoria con un AnimationController?
¿Qué método debe llamarse en dispose() para evitar una fuga de memoria con un AnimationController?
Respuesta
El método dispose() del AnimationController libera los recursos asociados al controlador de animación, incluyendo los listeners y los timers internos. Sin esta llamada, el controlador sigue ejecutándose en segundo plano incluso después de destruir el widget, provocando una fuga de memoria y potencialmente errores si el controlador intenta actualizar un widget eliminado.
2¿Qué herramienta de Flutter DevTools permite identificar las fugas de memoria?
¿Qué herramienta de Flutter DevTools permite identificar las fugas de memoria?
Respuesta
El Memory Profiler de Flutter DevTools ofrece una vista detallada del uso de memoria de la aplicación. Permite capturar snapshots del heap, analizar los objetos en memoria, detectar las instancias que no son recolectadas por el garbage collector e identificar las referencias que impiden la liberación de memoria.
3¿Cómo reducir las reconstrucciones innecesarias de un widget en Flutter?
¿Cómo reducir las reconstrucciones innecesarias de un widget en Flutter?
Respuesta
Usar const delante de los constructores de widgets permite al framework reutilizar la misma instancia en lugar de crear una nueva en cada build. Esto evita las reconstrucciones innecesarias porque Flutter reconoce que el widget no ha cambiado. Los widgets const se crean en tiempo de compilación y se mantienen en memoria para ser reutilizados.
¿Cuál es la causa principal de una fuga de memoria con un StreamController?
¿Qué tipo de Key usar para optimizar el rendimiento de una ListView con elementos reordenables?
+19 preguntas de entrevista
Otros temas de entrevista Flutter
Fundamentos de Dart
Fundamentos del lenguaje Dart
Fundamentos de Flutter
Ciclo de vida de los Widgets
Almacenamiento local
Ciclo de vida de la aplicación
Layouts & Constraints
ListView & GridView
Navegación y enrutamiento
Gestión de estado básica
Provider Pattern
Networking & HTTP
Serialización JSON
Base de datos local
Formularios y validación
Animaciones
Integración de Firebase
Pruebas unitarias
Pruebas de widgets
Build y Despliegue
Gestión de paquetes
Streams & RxDart
State Management avanzado
Flutter Design Patterns
Optimización del rendimiento
Platform Channels
Custom Painting
Arquitectura de aplicaciones Flutter
Domina Flutter para tu próxima entrevista
Accede a todas las preguntas, flashcards, tests técnicos, ejercicios de code review y simuladores de entrevista.
Empieza gratis