如需进一步了解 Kotlin 协程和流程,请参阅下面列出的其他资源。这些资源按主题分组。
基础知识
- 首要事项:本文介绍了基本的协程概念,包括
CoroutineScope
、Job
和CoroutineContext
。 - 协程的基础知识:了解使用协程时用到的最常见的类和函数。
- Android 中的协程(系列文章中的第 1 篇,随附链接):本博文是介绍 Kotlin 协程的系列文章中的第一篇。
- 了解 Android 上的 Kotlin 协程:2019 年 Google I/O 大会上的这场讲座简要介绍了如何在 Android 上使用 Kotlin 协程。
- 协程 Codelab:此 Codelab 介绍如何使用 Kotlin 协程管理后台线程和简化异步代码。
- 协程:如何在 Kotlin 中管理异步任务:了解截至 2020 年,Android 中协程的现状。
取消
- 协程取消政策:本文介绍了协程取消的来龙去脉。
- 协程:取消和异常处理全解:了解在 Kotlin 协程中处理取消和异常的最佳做法。
异常
- 协程中的异常:了解如何在协程中传播异常以及如何处理异常。
- 协程:取消和异常处理全解:了解在 Kotlin 协程中处理取消和异常的最佳做法。
作用域
- Android 中的简易协程:viewModelScope:本文介绍了用于向
ViewModel
类添加协程支持的扩展属性viewModelScope
。 - 不应取消的工作的模式:本文介绍了如何使用
applicationScope
或externalScope
触发不应取消的协程。
数据流
- 了解数据流:了解 Flow API 及其好处。
- 采用 Kotlin Flow 和 LiveData 的高级协程:了解如何在 Android 应用中将 Kotlin 协程与
LiveData
和 Flow 结合使用。 - 关于在 2019 年 Android 开发者峰会应用中使用协程流的经验:本文重点介绍在 2019 年 Android 开发者峰会应用中添加数据流支持时获得的最佳做法和其他经验。
- 关于 Flow 的 shareIn 和 stateIn 运算符的注意事项:本文介绍了如何使用
stateIn
和shareIn
运算符提高性能,甚或将其用作缓存机制。 - 从 LiveData 迁移到 Kotlin Flow:本文介绍了您可以在应用中采用的一些最常见的 LiveData 模式的等效流代码。如果您希望从 LiveData 迁移到 Flow,这会很有帮助。
测试
- 在 Android 上测试协程:了解测试协程的最佳做法。
- 测试 Codelab - 协程部分:了解如何通过将
Dispatchers.Main
替换为TestCoroutineDispatcher
,测试使用协程的 ViewModel。 - 在协程中测试两个连续的 LiveData 发出对象:了解如何使用
TestCoroutineDispatcher
暂停和恢复协程的执行。
库、Jetpack 和协程
- LiveData 与协程和数据流:2019 年 Android 开发者峰会上的这场讲座介绍了如何使用
liveData
协程构建器以及测试模式和反模式构建整洁、高效而且可靠的响应式界面。 - 构建 Kotlin 扩展库:了解如何构建可向现有类添加协程和数据流支持的 Kotlin 扩展库。
- 使用协程和数据流简化 API:了解如何使用协程适配器简化库、如何创建自己的协程适配器,并了解其背后的工作原理。
视图层中的协程
- 悬浮在视图之上:本博文谈论了协程如何让您更轻松地进行界面编程。
深入了解
- 挂起函数 - Kotlin 词汇:了解协程的重要性及其背后的工作原理。
- 深入了解挂起修饰符:了解编译器如何转换代码来挂起和恢复协程的执行。