Как правильно применять lifecycleScope в реальном Android Kotlin проекте?
Что хотят услышать интервьюеры:
Практический подход: применяйте lifecycleScope там, где это решает конкретную задачу приложения, а не ради шаблона.
- Определите слой: UI, ViewModel, domain, data, platform или infrastructure.
- Проверьте lifecycle, cancellation, ошибки, configuration change и process death.
- Добавьте тест или хотя бы воспроизводимый сценарий.
Ответ:
Смысл темы: scope привязан к LifecycleOwner и полезен для UI-layer операций, связанных с Activity/Fragment. На собеседовании: объясните не только API, но и границы ответственности.
lifecycleScope.launch {
repeatOnLifecycle(Lifecycle.State.STARTED) {
flow.collect()
}
}