Ответ
Горячие потоки данных (Hot Streams) начинают эмитировать данные сразу при создании, даже без подписчиков. Типичный пример - StateFlow и SharedFlow в Kotlin.
val hotFlow = MutableStateFlow(0) // Начинает эмитить сразу
// Подписываемся через 2 секунды
lifecycleScope.launch {
delay(2000)
hotFlow.collect { value ->
println("Received: $value") // Может пропустить начальные значения
}
}
// Эмитим значения
lifecycleScope.launch {
repeat(5) { i ->
hotFlow.value = i
delay(500)
}
}
Ключевые особенности:
- Данные теряются, если нет активных подписчиков
- Все подписчики получают одинаковые данные
- Часто используется для состояний UI или событий