Skip to content

Latest commit

 

History

History
74 lines (57 loc) · 5.66 KB

File metadata and controls

74 lines (57 loc) · 5.66 KB

Trace for Blog (SystraceForBlog)

English

本仓库保存 Android Performance 文章使用的 Perfetto、旧版 Systrace HTML 和 ART method trace 案例。历史文章已经大量引用原仓库名和 目录,因此继续保留 SystraceForBlog 名称,对外展示为 Trace for Blog。

Android 性能分析生态

Android Performance Ecosystem 通过导航 Hub 与七个核心项目,把可选插桩、采集、分析、系统知识与可复现案例连接成一套完整路径。

阶段 项目 作用 地址
导航 Android Performance Ecosystem 维护统一项目地图、交接元数据、README 导航区块与漂移检查。 GitHub
插桩 TraceFix 在编译期注入 App 侧 android.os.Trace section,让方法执行在运行时 Trace 中可见。 GitHub
采集与测量 Perfetto Tools 抓取可复现的 Perfetto Trace,并采集 FPS 或 Simpleperf 测量结果。 GitHub
分析 SmartPerfetto 通过 AI 辅助 Web UI、CLI、报告、会话、对比和证据工作流分析 Trace。 GitHub
Agent 分析 Perfetto Skills 为 Agent 提供可移植的 Android、Linux、Chromium Perfetto 分析 Skill,并通过固定版本流程同步选定资产。 GitHub
学习 Android Performance Blog 通过文章、系统原理和案例复盘讲解 Perfetto 与 Systrace 分析。 AndroidPerformance.com · GitHub
系统知识 Android Internal Wiki 处于 alpha 阶段的 Android 系统知识库,覆盖 App、Framework、Native 与 Kernel 机制。 Coming soon
复现 Trace for Blog (SystraceForBlog) 提供文章使用的 Perfetto、Systrace 及相关案例文件,支持动手复现。 GitHub

案例目录

catalog.json 是机器可读的事实源。它覆盖现有 15 个 artifact,记录 字节大小、SHA-256、内容格式、打包方式、文章映射、来源、授权/同意状态,以及隐私和 脱敏审核状态。

Case ID 领域 文件 对应文章
perfetto-aosp-demo-scroll 滑动 / 渲染 1 个 Perfetto protobuf MainThread 和 RenderThread
perfetto-wechat-moments-jank 滑动卡顿 Perfetto protobuf + ZIP 副本 未记录
systrace-main-render-wangzhe 主线程 / 渲染线程 Systrace HTML ZIP + ART method trace 文章
systrace-main-render-flutter-wanandroid Flutter 渲染 Systrace HTML ZIP + ART method trace 文章
systrace-binder-app-launch Binder 1 个 Systrace HTML ZIP 文章
systrace-input-launcher-scroll Input 1 个 Systrace HTML ZIP 文章
systrace-input-list-jank Input / 卡顿 1 个 Systrace HTML ZIP 文章
systrace-smooth-launchers 滑动流畅度 3 个 Systrace HTML ZIP 系列文章
systrace-twitter-jank 滑动卡顿 1 个 Systrace HTML ZIP 未记录
systrace-triple-buffer Buffer / 渲染 1 个 ZIP,内含 5 个 Systrace HTML 文章

使用案例

用 SmartPerfetto 分析 Perfetto protobuf:

smp run "Android_Perfetto/demo_app_aosp_scroll.perfetto-trace" "分析滑动卡顿"

也可以让安装了 Perfetto Skills 的 Agent 对同一文件使用 $perfetto-performance-analysis。旧版 *.html.zip 是自包含 Systrace 页面:先检查 压缩包,再在本机解压并用浏览器打开 HTML。ART *.trace 是 method trace,不是 Perfetto protobuf。

数据边界

当前文件都是历史资产,原始许可证、发布同意、隐私审核和脱敏记录没有完整保留下来, 所以清单明确使用 nullpending,不会为了“看起来完整”伪造元数据。仓库公开不等于 获得统一的数据许可证。使用或贡献前请读 DATA_POLICY.mdLICENSE-CODE 只覆盖本仓新增文档和校验代码,不覆盖 Trace、压缩包或链接文章。

验证

python3 scripts/validate_catalog.py
python3 -m unittest discover -s tests -v
git diff --check

校验器会检查目录覆盖、哈希、大小、来源必填字段、安全相对路径、ZIP member 路径、加密、 解压总量、member 数量和压缩比,并且不会把压缩包解压到磁盘。