На странице собраны вопросы по Coroutines — от проверки базовых принципов до практического применения и архитектурных решений. В подборке чаще встречаются темы: async, concurrency, android.
Операторы обработки ошибок во Flow Flow представляет собой статический типизатор для JavaScript и не содержит традиционных операторов обработки исключений. Flow обнаруживает ошибки во время статического анализа, а не…
Риски Dispatchers.Unconfined и сценарий падения Dispatchers.Unconfined — специальный диспетчер корутин, который начинает выполнение в текущем потоке и работает в нём до первой приостановки. Сразу другой поток он не…
Какими способами можно создать Flow? Flow представляет собой типизированный поток данных (JS/типизация) Автоматическая типизация задаётся через аннотации (// @flow, type, interface) Для ленивых вычислений применяют…
Выбор Dispatcher для UI и фоновых операций в Flow Для UI используется Dispatcher.Main — он выполняет код в главном потоке, где расположены элементы интерфейса, поэтому необходим для работы с UI.
Что будет с корутиной в GlobalScope после cancel() родительского скоупа? Корутинa в GlobalScope — выполняется вне иерархии скоупов GlobalScope не зависит от родительских скоупов Вызов cancel() у родителя не оказывает…
Почему GlobalScope не стоит использовать в большинстве случаев? Kotlin coroutines, GlobalScope — глобальная область видимости Жизненный цикл — весь период работы приложения Нет контроля над отменой и обработкой ошибок…
SharedFlow и StateFlow: различия в поведении и буферизации SharedFlow и StateFlow — холодные потоковые API Kotlin Coroutines, предназначенные для коммуникации между потоками. StateFlow постоянно хранит одно актуальное…
Контекст: управление отменой в Kotlin Coroutines Когда родительская корутина отменяется, все её дочерние корутины также автоматически переходят в состояние отмены Причина заключается в устройстве иерархии Job: именно…
Что важно учитывать в юнит-тестах для StateFlow и SharedFlow StateFlow постоянно хранит последнее значение, тогда как SharedFlow представляет собой поток событий с возможностью множественной подписки StateFlow…