Собирают через collectAsStateWithLifecycle (рекомендуется) или collectAsState; в VM держат StateFlow UI-state и SharedFlow для one-shot событий.
Разбор
- Lifecycle-aware collect не работает в фоне зря.
- WhileSubscribed в stateIn экономит ресурсы.
- Не collect'ьте Flow напрямую в composable без API.
- Side-effect событий (навигация) — LaunchedEffect + SharedFlow.
Итог
Lifecycle-aware collect — стандарт связки реактивного VM и Compose.