Используйте эти дополнительные ресурсы, чтобы узнать больше о сопрограммах и потоках Kotlin. Эти ресурсы сгруппированы по темам.
Основы
-  Перво-наперво : в этой статье рассматриваются основные концепции сопрограмм, включая CoroutineScope,JobиCoroutineContext.
- Азбука сопрограмм : узнайте о наиболее распространенных классах и функциях, используемых при работе с сопрограммами.
- Сопрограммы в Android (серия — ссылка на первую статью) : этот пост является первым в серии, в которой рассказывается о сопрограммах Kotlin.
- Понимание сопрограмм Kotlin на Android : в этом докладе Google I/O 2019 представлен обзор использования сопрограмм Kotlin на Android.
- Лаборатория кода сопрограмм : в этой лаборатории кода показано, как использовать сопрограммы Kotlin для управления фоновыми потоками и упрощения асинхронного кода.
- Сопрограммы: как управлять асинхронными задачами в Kotlin : узнайте о состоянии сопрограмм в Android по состоянию на 2020 год.
Отмена
- Отмена в сопрограммах : в этой статье рассказывается о тонкостях отмены сопрограмм.
- Сопрограммы: надо поймать их всех : изучите лучшие практики обработки отмены и исключений в сопрограммах Kotlin.
Исключения
- Исключения в сопрограммах . Узнайте, как исключения распространяются в сопрограммах и как с ними обращаться.
- Сопрограммы: надо поймать их всех : изучите лучшие практики обработки отмены и исключений в сопрограммах Kotlin.
Области применения
-  Простые сопрограммы в Android: viewModelScope : в этой статье описывается viewModelScope, свойство расширения, которое добавляет поддержку сопрограмм в классViewModel.
-  Шаблоны для работы, которую нельзя отменять . В этой статье описывается, как запускать сопрограммы, которые нельзя отменять, с помощью applicationScopeилиexternalScope.
Поток
- Going with the Flow : узнайте об API потока и его преимуществах.
-  Расширенные сопрограммы с Kotlin Flow и LiveData . Узнайте, как использовать сопрограммы Kotlin с LiveDataи потоком в приложении для Android.
- Уроки, извлеченные из использования Coroutines Flow в приложении Android Dev Summit 2019. В этой статье описаны лучшие практики и другие уроки, извлеченные при добавлении поддержки потока в приложение Android Dev Summit 2019.
-  Что нужно знать об операторах ShareIn и StateIn Flow : в этой статье рассказывается о том, как операторы stateInиshareInможно использовать для повышения производительности или даже в качестве механизма кэширования.
- Миграция с LiveData на Kotlin Flow . В этой статье рассказывается о том, какой код Flow эквивалентен некоторым из наиболее распространенных шаблонов LiveData, которые вы можете использовать в своем приложении. Это поможет, если вы заинтересованы в переходе с LiveData на Flow.
Тестирование
- Тестирование сопрограмм на Android . Узнайте о лучших методах тестирования сопрограмм.
-  Тестирование кодовой лаборатории — раздел «Сопрограммы» . Узнайте о тестировании моделей ViewModel, использующих сопрограммы, путем замены Dispatchers.MainнаTestCoroutineDispatcher.
-  Тестирование двух последовательных выбросов LiveData в сопрограммах . Узнайте, как использовать TestCoroutineDispatcherдля приостановки и возобновления выполнения сопрограмм.
Библиотеки, Jetpack и сопрограммы
-  LiveData с сопрограммами и Flow : в этом докладе на Android Dev Summit 2019 рассказывается, как использовать конструктор сопрограмм liveData, а также шаблоны тестирования и антишаблоны для создания чистых, эффективных и надежных реактивных пользовательских интерфейсов.
- Создание библиотеки расширений Kotlin . Узнайте, как создать библиотеку расширений Kotlin, которая добавляет сопрограммы и поддержку потоков в существующие классы.
- Упрощение API с помощью сопрограмм и Flow . Узнайте, как упростить библиотеки с помощью адаптеров сопрограмм, создать свои собственные и посмотреть, как они работают «под капотом».
Сопрограммы на уровне представления
- Приостановка просмотров : в этом посте рассказывается о том, как сопрограммы могут упростить программирование пользовательского интерфейса.
Под капотом
- Приостановка функций — Словарь Kotlin : узнайте, почему сопрограммы важны и как они работают «под капотом».
- Модификатор suspend под капотом : узнайте, как компилятор преобразует ваш код, чтобы приостановить и возобновить выполнение ваших сопрограмм.
