> Какие методы жизненного цикла приложения во Flutter используются для отслеживания сворачивания и разворачивания (Flutter, Android)

Уровень: senior · Роль: mobile · Категория: Технические вопросы

Компании: PashaPay

Стек: Flutter, Android

> Пример ответа

Для отслеживания сворачивания и разворачивания приложения во Flutter используются методы из класса WidgetsBindingObserver. Основной способ - реализовать интерфейс WidgetsBindingObserver и переопределить метод didChangeAppLifecycleState(), который получает состояние AppLifecycleState.

Ключевые состояния:

  • AppLifecycleState.paused - приложение свернуто (перешло в фоновый режим).
  • AppLifecycleState.resumed - приложение развернуто (вернулось на передний план).

Пример реализации:

class MyAppState extends State<MyApp> with WidgetsBindingObserver {
  @override
  void initState() {
    super.initState();
    WidgetsBinding.instance.addObserver(this);
  }

  @override
  void dispose() {
    WidgetsBinding.instance.removeObserver(this);
    super.dispose();
  }

  @override
  void didChangeAppLifecycleState(AppLifecycleState state) {
    if (state == AppLifecycleState.paused) {
      // Приложение свернуто
    } else if (state == AppLifecycleState.resumed) {
      // Приложение развернуто
    }
  }
}

Также можно использовать AppLifecycleListener (доступен с Flutter 3.0+) для более гибкого управления без необходимости внедрять WidgetsBindingObserver в виджет.

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью