SuperAPI AI 工具集

android-compose-state-effects

编程与开发

查看项目

更新于 10-15 23:47

技能介绍

用途:当问题位于 composable 或 Compose 运行时原语内部时使用,例如 Compose 副作用问题、remember 与 derivedStateOf 的取舍、在 Compose 界面中收集 Flow。若涉及应用级状态容器、reducer 设计或 ViewModel 归属,应转交 android-state-management;性能问题可转交 android-compose-performance。

主要能力:先对问题分类(本地记忆状态、可保存状态、派生状态、生命周期感知收集、一次性副作用),再选择最窄的 Compose 原语:remember、rememberSaveable、derivedStateOf、produceState、collectAsStateWithLifecycle、LaunchedEffect、DisposableEffect、SideEffect 或 snapshotFlow。要求将持久 UI 状态与瞬时事件(snackbar、导航、分析)分离,稳定 effect key 与回调引用,避免重组时重复启动或捕获过期 lambda。

使用方式:面向 UI 的 Flow 优先使用 collectAsStateWithLifecycle;effect 需要读取最新 lambda 或值而不重启时使用 rememberUpdatedState;一次性 effect 不应作为不可变界面状态保存;不要在 composable 主体中直接启动协程或触发导航。

适用场景:Compose 界面内状态与副作用排查、重组与 effect 重启控制、状态与事件通道建模、收集的取消安全。

限制:不负责应用级状态架构设计;资料未提供具体收费、平台支持范围与效果保证。示例命令包括 cd examples/orbittasks-compose && ./gradlew :app:testDebugUnitTest、cd examples/orbittasks-compose && ./gradlew :app:assembleDebug、python3 scripts/eval_triggers.py --skill android-compose-state-effects。