使用这些额外资源来学习更多关于 Kotlin 协程和 Flow 的知识。这些资源按主题分组。
基础知识
- 首先要了解的事情:本文介绍了协程的基本概念,包括
CoroutineScope
、Job
和CoroutineContext
。 - 协程的 ABC:了解使用协程时最常见的类和函数。
- Android 中的协程(系列 - 第 1 篇文章链接):这篇文章是系列文章的第一篇,将教您有关 Kotlin 协程的知识。
- 了解 Android 上的 Kotlin 协程:这篇 2019 年 Google I/O 大会演讲概述了如何在 Android 上使用 Kotlin 协程。
- 协程代码实验室:此代码实验室将向您展示如何使用 Kotlin 协程管理后台线程并简化异步代码。
- 协程:如何在 Kotlin 中管理异步任务:了解截至 2020 年协程在 Android 中的状态。
取消
异常
作用域
- Android 中的简单协程:viewModelScope:本文介绍了
viewModelScope
,这是一个扩展属性,它为ViewModel
类添加了协程支持。 - 不应取消的工作模式:本文介绍了如何使用
applicationScope
或externalScope
触发不应取消的协程。
Flow
- 顺应 Flow:了解 Flow API 及其优势。
- 使用 Kotlin Flow 和 LiveData 的高级协程:了解如何在 Android 应用中将 Kotlin 协程与
LiveData
和 Flow 结合使用。 - 在 2019 年 Android 开发者峰会应用中使用 Coroutines Flow 的经验教训:本文重点介绍了为 2019 年 Android 开发者峰会应用添加 Flow 支持时获得的最佳实践和其他经验教训。
- 关于 Flow 的 shareIn 和 stateIn 运算符需要了解的事项:本文介绍了如何使用
stateIn
和shareIn
运算符来提高性能,甚至用作缓存机制。 - 从 LiveData 迁移到 Kotlin Flow:本文介绍了应用中一些最常见的 LiveData 模式对应的 Flow 代码是什么。如果您有兴趣从 LiveData 迁移到 Flow,这将有所帮助。
测试
- 在 Android 上测试协程:了解测试协程的最佳实践。
- 测试代码实验室 - 协程部分:了解如何通过用
TestCoroutineDispatcher
替换Dispatchers.Main
来测试使用协程的 ViewModel。 - 在协程中测试两个连续的 LiveData 发射:了解如何使用
TestCoroutineDispatcher
暂停和恢复协程的执行。
库、Jetpack 和协程
- 带协程和 Flow 的 LiveData:这篇来自 2019 年 Android 开发者峰会的演讲介绍了如何使用
liveData
协程构建器以及测试模式和反模式来创建简洁、高效且可靠的反应式 UI。 - 构建 Kotlin 扩展库:学习如何构建一个 Kotlin 扩展库,为现有类添加协程和 Flow 支持。
- 使用协程和 Flow 简化 API:学习如何使用协程适配器简化您的库,创建您自己的适配器,并了解它们的工作原理。
视图层中的协程
- 视图上的挂起:这篇文章讨论了协程如何使 UI 编程更轻松。
幕后原理
- 挂起函数 - Kotlin 词汇:了解协程为何重要以及它们的工作原理。
- 挂起修饰符的幕后原理:学习编译器如何转换您的代码以挂起和恢复协程的执行。