Что нужно знать про Memory leaks во Flutter/Dart?

FlutterMiddle+: проектирует решение с учетом lifecycle, ошибок и поддержкиPerformanceТеорияdisposefluttermemorymemory-leakperformance

Что хотят услышать интервьюеры:

Коротко: Утечки памяти во Flutter часто связаны с незакрытыми subscriptions, controllers, timers, listeners или ссылками на BuildContext.

Ответ:

Где применяется:

  • dispose обязателен для ресурсов
  • DevTools memory помогает смотреть retained objects
  • избегайте долгоживущих ссылок на UI

Пример:

@override void dispose() {
  subscription.cancel();
timer.cancel();
super.dispose();
}

Как отвечать на собеседовании: объясните назначение, границы применения и почему это лучше альтернативы в конкретном сценарии. Типичная ошибка: полагаться на GC при активных подписках.

Источники

Похожие вопросы