mcpField
A
android-performance-observability

android-performance-observability

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

关于 android-performance-observability

用于通过性能分析和可观测性调查 Android 应用性能的技能,指导开发者针对启动、渲染、内存、稳定性和线上指标选择测量方式,并进行可复现的前后对比。

主要功能

  1. 01分类性能症状
  2. 02按症状选择测量工具
  3. 03分析接近发布版的构建
  4. 04比较优化前后证据
  5. 05检查线上指标与崩溃

适用场景

  1. 01调查应用启动缓慢
  2. 02测量卡顿与滚动表现
  3. 03评估内存、ANR 或崩溃
  4. 04跟踪线上指标变化

安装

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

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

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

包含的文件

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

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

详细介绍

Android 性能可观测性

适用场景

  • 当请求涉及以下内容时使用此技能:Android 性能分析、基线配置文件或宏基准测试、Android 应用启动问题。
  • 主要目标:通过可操作的跟踪信息,测量 Android 应用的启动、渲染、内存、卡顿、运行状况指标、日志和崩溃信号。
  • 当需要了解启动、卡顿、跟踪和生产环境信号的测量阶梯时,请阅读 references/patterns.md。
  • 如需可重复的性能分析方法和以跟踪为导向的入口点,请阅读 references/scenarios.md。
  • 范围扩大时,交接给以下技能:
  • android-compose-performance
  • android-ci-cd-release-playstore

工作流

  1. 选择工具前,先对症状分类:冷启动、热启动、帧渲染/卡顿、滚动、内存、ANR、崩溃、电池或生产环境运行状况指标变化。
  2. 尽可能在接近发布版的构建和实体设备上进行测量;避免依据仅用于调试的跟踪信息或不利于性能分析的构建做判断。
  3. 选择能回答问题的最精简工具:使用 Macrobenchmark 测量启动/滚动数据,使用 Baseline Profiles 进行提前优化,使用 Perfetto/System Tracing 深入分析跟踪信息,使用 JankStats 或 FrameMetrics 评估帧质量,并使用 Play Vitals 获取实际使用情况的证据。
  4. 一次只更改一项,然后比较更改前后的跟踪信息或基准测试输出,避免盲目叠加多项优化。
  5. 只有在测量范围稳定且瓶颈已有证据支持后,才将 UI 特定的渲染更改或发布推广工作交接出去。

注意事项

  • 将基准测试、跟踪信息和运行状况指标视为不同的证据来源,它们各自的噪声特征不同;不要随意混用。
  • 优先采用可重复的发布版构建测量结果,而不是依据调试版构建进行推测。
  • 将优化与面向用户的指标联系起来,例如启动时间、帧节奏、ANR 或电池影响。
  • 保持性能分析环境足够稳定,确保回归问题可归因于代码更改,而非设备或环境变化。

反模式

  • 尚未确定问题属于启动、渲染、I/O 还是实际使用可靠性,就开始追逐微优化。
  • 读取一份噪声较大的跟踪信息,就将结果当作定论。
  • 测量调试版构建后,便假设生产环境中的表现相同。
  • 未确认目标路径是否足够稳定、可供比较,就添加 Baseline Profiles 或宏基准测试。

审查重点

  • 启动:冷启动和热启动、耗时较长的初始化,以及 Baseline Profile 的覆盖情况。
  • 渲染:卡顿、跳帧、Compose 或 View 的失效变更,以及主线程上的长时间任务。
  • 内存与可靠性:内存分配、泄漏、ANR、崩溃和 Play Vitals 趋势。
  • 证据质量:可重复执行的命令、接近发布版的变体,以及有记录的前后对比。

示例

顺利路径
  • 场景:在提出测量计划前,检查代码库中的性能分析入口和基准测试相关钩子。
  • 命令:rg -n "baseline|macrobenchmark|profileable|JankStats|Trace|Perfetto" .
边缘情况
  • 场景:确保启动和渲染调查以可重复的接近发布版构建为依据。
  • 命令:cd examples/orbittasks-compose && ./gradlew :app:assembleDebug
故障恢复
  • 场景:将可观测性请求与仅涉及 Compose 调优或发布自动化的工作区分开来。
  • 命令:python3 scripts/eval_triggers.py --skill android-performance-observability

完成清单

  • 已对瓶颈进行分类,并将其与可重复运行的证据来源关联起来。
  • 所选工具与症状相匹配,而非重复采集噪声较大的测量结果。
  • 对任何建议的优化,都明确列出了更改前后的对比。
  • 仅涉及 UI 或发布的工作与测量和跟踪分开处理。

Official References

评论

支持 Markdown