Flutter

Memoria y rendimiento

Memory leaks, dispose, DevTools profiler, reconstrucciones de widgets, const constructors, keys

22 preguntas de entrevista·
Senior
1

¿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?

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?

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.

4

¿Cuál es la causa principal de una fuga de memoria con un StreamController?

5

¿Qué tipo de Key usar para optimizar el rendimiento de una ListView con elementos reordenables?

+19 preguntas de entrevista

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