9 Commits

Author SHA1 Message Date
xfy
b3abe92b2c feat: 更新 Baseline Profile,覆盖日期检查器/调休/工具页等场景 2026-06-02 13:10:49 +08:00
xfy
51d6e383b0 feat: profile.sh 支持 --all 批量录制全部 15 个自动场景
将之前需手动操作的 date_select / cross_month / date_checker / full_flow
也改为自动执行(基于屏幕百分比坐标估算点击位置),
--all 可一次性录制全部场景并生成汇总对比报告
2026-06-01 18:30:09 +08:00
xfy
d933ca3e41 feat: 将 profile.sh 重写为场景化版本,支持按交互场景录制 Perfetto trace
- 引入 --scenario 参数,支持 15 种预设交互场景
- 自动场景通过 adb 自动执行操作(滑动翻页、拖拽折叠、切换视图等)
- 手动场景提供操作指引并保留倒计时准备
- 批量录制模式(--all)自动遍历所有场景并生成汇总报告
- 输出文件按场景名命名,支持场景级对比分析
2026-06-01 18:22:56 +08:00
xfy
1930bbcb7f feat: 添加 Perfetto trace 分析脚本并更新开发文档 2026-05-27 18:10:53 +08:00
xfy
47876a233b feat: 添加 PowerShell 性能追踪脚本
一键抓取 Perfetto trace、帧统计、内存信息并生成 Markdown 报告

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-26 08:12:48 +08:00
xfy
6ab63eae53 fix(profile.sh): 修复帧率和内存数据提取逻辑
- Janky frames 百分比:grep -oP 替换为 BSD awk 兼容的 substr+index
- Slow UI thread / Slow draw commands / High input latency:改用 $NF 提取最后一个字段,
  避免 "Slow UI thread" 等中间空格导致 awk 列错位
- Java Heap / Native Heap:改用 $3 提取,避免 "Java Heap:" 中 $2 是 "Heap:" 而非数值
- 所有指标改用 awk + exit 取第一个匹配(整体统计),避免 tail -1 取到 per-window 数据

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-25 16:27:21 +08:00
xfy
a431dcdfbf feat: 添加 trace 构建类型 + 增强性能追踪脚本
- ComposeTrace 改用 BuildConfig.ENABLE_TRACE 控制,release 关闭,debug/trace 开启
- core/app 添加 trace buildType:release 优化(R8 + shrink resources)+ 保留 trace 标记
- CalendarMonthView/WeekPager 添加更多自定义 trace marker,覆盖年月视图切换路径
- profile.sh 增强:
  - 添加 --trace 参数支持 trace 构建
  - Perfetto 配置增加 gpu.memory 和 surfaceflinger.frametimeline 数据源
  - 报告自动提取帧率百分位、jank 比例、内存摘要
  - 添加年月视图切换专项分析指南和基线对比方法

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-25 16:19:21 +08:00
xfy
dd072730f1 fix: 年视图 pageYear 使用 settledPage 计算,修复滑动切换时年份闪烁
pageYear = yearViewYear + (page - settledPage) 代替 currentPage,
因为 yearViewYear 由 settledPage 驱动,两者始终同步。
用 currentPage 会在滑动过半时出现不匹配,导致小月份
短暂显示错误年份数据。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-22 16:09:42 +08:00
xfy
baedf878b4 perf: 动画性能优化 + 性能追踪工具
- CalendarMonthPage: 提取 WeekRow 子 Composable,graphicsLayer → offset + alpha
- DayCell: updateTransition → 独立 animateFloatAsState/animateColorAsState,
  共享 MutableInteractionSource 减少重组
- CalendarMonthView/WeekPager: graphicsLayer → offset + alpha,共享 interactionSource
- DEVELOPMENT.md: 补充性能追踪使用说明
- scripts/profile.sh: 新增 Perfetto trace 一键抓取脚本

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-22 10:29:58 +08:00