Выбор ответа Middle Flow, StateFlow и SharedFlow спрашивают часто обновлено
StateFlow и SharedFlow
Вопрос
Какое утверждение про StateFlow верно?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Хранит значение, отдаёт его новым подписчикам, повторы пропускает. StateFlow горячий, всегда имеет value (начальное обязательно), новый подписчик сразу получает текущее значение, а повторное равное значение пропускается (distinctUntilChanged по equals).
Варианты ответа
- Он холодный и выполняется заново для каждого подписчика
- Хранит значение, отдаёт его новым подписчикам, повторы пропускаетправильный ответ
- Он может не иметь начального значения до первого emit
- Он доставляет каждое значение ровно одному подписчику
Разбор
StateFlow горячий, всегда имеет value (начальное обязательно), новый подписчик сразу получает текущее значение, а повторное равное значение пропускается (distinctUntilChanged по equals). По сути это SharedFlow с replay = 1 и конфляцией. Доставка ровно одному подписчику это свойство Channel.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.