Выбор ответа Senior Жизненный цикл обновлено
Flutter: подписка на жизненный цикл приложения
Вопрос
Нужно ставить видео на паузу, когда приложение уходит в фон. Какой подход корректный?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: AppLifecycleListener или WidgetsBindingObserver, отписка в dispose. Состояние приложения сообщает WidgetsBinding: через миксин WidgetsBindingObserver (addObserver в initState, removeObserver в dispose) или класс AppLifecycleListener с колбэками onPause, onResume и dispose(). build не вызывается при уходе в…
Варианты ответа
- Проверять
AppLifecycleStateвbuildи ставить видео на паузу прямо там - Использовать
deactivate: он вызывается у всехState, когда приложение уходит в фон - Подписаться на
Navigatorи ловитьdidPop, который срабатывает при сворачивании AppLifecycleListenerилиWidgetsBindingObserver, отписка вdisposeправильный ответ
Разбор
Состояние приложения сообщает WidgetsBinding: через миксин WidgetsBindingObserver (addObserver в initState, removeObserver в dispose) или класс AppLifecycleListener с колбэками onPause, onResume и dispose(). build не вызывается при уходе в фон. deactivate связан с удалением элемента из дерева, didPop с навигацией.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.