Как будешь работать с подпиской на обновления Flow

«Как будешь работать с подпиской на обновления Flow» — вопрос из категории Coroutines и Flow, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Для подписки на обновления Flow в Android используйте collect или collectLatest в корутине. Пример:

lifecycleScope.launch {
    viewModel.someFlow.collect { value ->
        // обрабатываем новое значение
    }
}

Важные моменты:

  1. Запускайте сбор в lifecycleScope или viewModelScope для автоматической отмены при уничтожении жизненного цикла
  2. Для UI используйте collectLatest, если новые данные должны отменять предыдущую обработку
  3. Для обработки ошибок оберните в try/catch или используйте catch оператор у Flow
  4. В Compose используйте collectAsState()