Почему collect Flow в Fragment нельзя запускать просто в lifecycleScope.launch без repeatOnLifecycle?

Android / KotlinMiddleCoroutines и FlowВопрос с подвохомandroid kotlin developer|coroutines и flow|lifecycle|почему collect flow в fragment нельзя запускать просто в lifecyclescop

Что хотят услышать интервьюеры:

Проблема в lifecycle. Простая coroutine может продолжать collect, когда UI уже не видим, если не привязать сбор к нужному состоянию lifecycle.

Ответ:

repeatOnLifecycle

отменяет и перезапускает сбор при переходах STARTED/STOPPED, снижая риск лишней работы и обращения к неактуальному UI.

Источники

Похожие вопросы