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