collect обрабатывает каждый элемент до конца; collectLatest отменяет предыдущий блок при новом элементе — полезно для поиска/ввода.
Разбор
- Поиск: новый query отменяет старый request.
- Нельзя, если каждый элемент обязан завершиться.
- Внутри —
coroutineScope семантика отмены child.
- Комбинация с
debounce в UI.
Итог
collectLatest = актуальность важнее полноты обработки каждого события.