🚀 Kotlin协程·实战
30章 从零到项目
📘 友好色系
1
01
协程初探
什么是协程?协程与线程的区别 · Job、CoroutineScope、CoroutineContext
2
02
环境搭建
Android/Kotlin引入协程依赖 · Gradle配置 · 第一个协程示例
3
03
启动协程
launch vs async · runBlocking使用场景 · GlobalScope的坑
4
04
调度器与线程
Dispatchers.Main/IO/Default/Unconfined · withContext切换线程
5
05
挂起函数
suspend本质 · 挂起与恢复底层 · 自定义挂起函数
6
06
Job与协程生命周期
Job状态机 · join等待 · cancel取消 · 父子协程
7
07
协程上下文
CoroutineContext组成 · Element合并叠加 · 自定义Context
8
08
异常处理
try-catch局限 · CoroutineExceptionHandler · SupervisorJob
9
09
结构化并发
什么是结构化并发?coroutineScope vs supervisorScope
10
10
协程取消与超时
isActive · ensureActive · withTimeout / withTimeoutOrNull
11
11
Flow基础
Flow是什么?冷流vs热流 · Flow构建与收集
12
12
Flow操作符
map · filter · transform · take · drop 实战
13
13
Flow背压与缓冲
buffer · conflate · collectLatest 处理背压
14
14
Flow异常与完成
catch · onCompletion · retry重试机制
15
15
StateFlow与SharedFlow
StateFlow替代LiveData · SharedFlow粘性事件与缓存
16
16
Channel
四种类型:Rendezvous/Buffered/Unlimited/Conflated · 关闭与迭代
17
17
Select表达式
select用途 · 在Channel与Deferred中使用
18
18
协程与Android
lifecycleScope · viewModelScope · Activity/Fragment中使用
19
19
协程与网络请求
结合Retrofit · suspend函数封装API调用
20
20
协程与Room
Room的suspend DAO · 配合Flow响应式数据库
21
21
协程与WorkManager
协程执行后台任务 · CoroutineWorker详解
22
22
协程测试
runTest · TestCoroutineDispatcher · 测试挂起函数与Flow
23
23
协程性能优化
避免不必要挂起 · 合理使用调度器 · 协程池概念
24
24
协程与RxJava对比
两种异步方案异同 · 协程优势与适用场景
25
25
协程设计模式
Callback转协程 · suspendCoroutine · 协程与LiveData桥接
26
26
协程在MVVM中的应用
Repository层协程 · ViewModel协程管理 · UI收集Flow
27
27
协程与Ktor客户端
Ktor网络请求 · 协程在服务端Ktor应用
28
28
协程与Spring WebFlux
Spring Boot使用协程 · 协程与响应式编程结合
29
29
协程高级主题
调试与诊断 · 字节码分析 · 性能基准测试
30
30
项目实战
完整协程驱动App(网络+数据库+UI)架构·错误处理·测试