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