用途:在 Android 应用中使用 Kotlin 协程与 Flow 实现异步操作、并发管理与响应式数据流。
主要能力:协程基础(viewModelScope.launch、async/Deferred、suspend 函数与 withContext);调度器(Main、IO、Default 及 limitedParallelism 自定义调度器);Flow 创建与收集(flow 构建器、Room 返回 Flow、catch/collect);StateFlow 与 SharedFlow(可变状态、事件流、debounce/filter/flatMapLatest/stateIn 派生状态);结构化并发(coroutineScope 并行、withTimeout/withTimeoutOrNull);异常处理(runCatching、SupervisorJob);Flow 操作符(map、distinctUntilChanged、combine、retry 指数退避);生命周期感知收集(Compose 的 collectAsStateWithLifecycle、Fragment 的 repeatOnLifecycle);常见模式(Repository 结合缓存与网络、取消处理 ensureActive、防抖节流)。
使用方式:在 ViewModel 中用 viewModelScope 启动协程,耗时操作切换到 Dispatchers.IO,UI 更新回到 Main;用 StateFlow 暴露状态、SharedFlow 发送事件;在界面层通过 collectAsStateWithLifecycle 或 repeatOnLifecycle 收集,避免后台收集。
适用场景:Android 应用中的网络请求、数据库访问、搜索防抖、轮询、并行加载与 UI 状态管理。
限制与反模式:避免 GlobalScope、主线程 runBlocking、无生命周期收集、每次调用新建 Flow;资料未提供安装命令、版本要求或收费信息。