Ответ
SharedFlow — это "горячий" поток данных, который можно настраивать через параметры конструктора:
replay— количество последних значений, которые будут отправлены новым подписчикам (по умолчанию0).extraBufferCapacity— дополнительный буфер поверхreplay(если подписчики не успевают обрабатывать данные).onBufferOverflow— стратегия при переполнении буфера:BufferOverflow.SUSPEND(по умолчанию) — приостанавливает эмиттер.BufferOverflow.DROP_OLDEST— удаляет самое старое значение.BufferOverflow.DROP_LATEST— отбрасывает новое значение.
Пример:
val sharedFlow = MutableSharedFlow<Int>(
replay = 2,
extraBufferCapacity = 1,
onBufferOverflow = BufferOverflow.DROP_OLDEST
)