mcpField
A
android-compose-performance

android-compose-performance

github.com/krutikjain开发1479 次安装31 周前更新
代码仓库

关于 android-compose-performance

这项技能用于诊断和改善 Android 应用中的 Jetpack Compose 性能,引导开发者进行性能分析和界面决策,并关注稳定状态、无障碍支持和实测优化。

主要功能

  1. 01识别 Compose、View 或混合界面
  2. 02改善重组、布局和滚动表现
  3. 03使用稳定状态与明确副作用
  4. 04检查长文本、字体缩放、RTL 和窄屏
  5. 05通过单元、UI 和截图检查验证

适用场景

  1. 01排查 Compose 列表中的无谓重组
  2. 02评估状态反复变化时的滚动表现
  3. 03检查长文本或窄屏下的界面行为

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/krutikjain/android-agent-skills --skill android-compose-performance

安装后在 Claude Code 中输入/android-compose-performance确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

agents/
openai.yaml
references/
official-links.md
patterns.md
scenarios.md
scripts/
run_examples.sh

详细介绍

Android Compose 性能

适用场景

  • 在请求涉及以下内容时使用此技能:Compose 性能问题、Android 中重组过多、Compose LazyColumn 滚动缓慢。
  • 主要目标:分析并提升 Android 应用中 Compose 的重组、布局、滚动、启动和渲染性能。
  • 当范围扩大时,移交给以下技能:
  • android-performance-observability
  • android-testing-ui

工作流

  1. 判断目标界面使用的是 Compose、View 系统,还是混合互操作界面。
  2. 选择能够满足响应速度、无障碍和性能需求,且实现成本最低的 UI 模式。
  3. 围绕稳定状态、显式副作用和可复用设计令牌构建 UI。
  4. 在测试应用中验证长文本、字体缩放、RTL 和窄屏设备等边界情况。
  5. 交接前通过单元测试、UI 测试和便于截图的检查进行验证。

防护原则

  • 优先优化状态稳定性和渲染可预测性,再添加动画或抽象。
  • 默认遵循无障碍语义、对比度、焦点顺序和触控目标方面的指导。
  • 未明确划定互操作边界时,不要混合使用 Compose 和 View 系统。
  • 优先采用基于测量的性能优化,避免过早进行微优化。

反模式

  • 在叶级 UI 组件中直接嵌入导航或业务逻辑。
  • 使用会因本地化或动态文本而失效的固定尺寸。
  • 忽略语义,只播报视觉变化。
  • 将 XML 模式直接移植到 Compose,而不调整思维模型。

修复示例

稳定列表标识
LazyColumn {
    items(tasks, key = { it.id }) { task ->
        TaskRow(task)
    }
}
将繁重工作移出组合过程
@Composable
fun TaskBoard(tasks: List<TaskUiModel>) {
    val visibleTasks = remember(tasks) { tasks.sortedBy { it.title } }
    LazyColumn { items(visibleTasks, key = { it.title }) { TaskRow(it) } }
}
避免滚动变化导致大范围重组
Box(
    modifier = Modifier.offset {
        IntOffset(0, scrollState.value)
    }
)

示例

理想路径
  • 场景:分析 Compose 任务列表,找出不必要的重组热点。
  • 命令:cd examples/orbittasks-compose && ./gradlew :app:testDebugUnitTest
边界情况
  • 场景:在反复变更状态时,评估长列表、筛选芯片和 Snackbar 频繁变化的表现。
  • 命令:cd examples/orbittasks-compose && ./gradlew :app:assembleDebug
故障恢复
  • 场景:将性能请求与通用 Compose 或可观测性提示词区分开来。
  • 命令:python3 scripts/eval_triggers.py --skill android-compose-performance

完成检查清单

  • 实现路径清晰、精简,并且针对正确的 Android 界面。
  • 已运行或更新相关示例命令和基准测试提示词。
  • 当请求涉及相邻技能时,已记录移交事项。
  • 官方参考资料涵盖所选模式以及主要迁移或故障排查路径。

官方参考资料

评论

支持 Markdown