Что нужно знать про Memory leaks во Flutter/Dart?
Что хотят услышать интервьюеры:
Коротко: Утечки памяти во Flutter часто связаны с незакрытыми subscriptions, controllers, timers, listeners или ссылками на BuildContext.
Ответ:
Где применяется:
- dispose обязателен для ресурсов
- DevTools memory помогает смотреть retained objects
- избегайте долгоживущих ссылок на UI
Пример:
@override void dispose() {
subscription.cancel();
timer.cancel();
super.dispose();
} Как отвечать на собеседовании: объясните назначение, границы применения и почему это лучше альтернативы в конкретном сценарии. Типичная ошибка: полагаться на GC при активных подписках.