安卓Systrace工具使用流程

  • 安装
  • 生成报告
  • 帮助
  • Trace图上定位
  • Perfetto导入Systrace

标签:Systrace工具使用流程 , 性能分析工具Systrace的使用详解


安装

1.1.1 下载sdk-tools:
https://developer.android.com/studio/intro/update?hl=zh-cn#sdk-manager

1.1.2 安装 python 2.7.18 :(注意,一定用这个版本python3不行

需要安装 python 2.7.18版本,下载地址: https://www.python.org/downloads/release/python-2718/

1.1.3 安装依赖

python -m pip install pywin32
python -m pip install six

1.1.4 验证

在$ANDROID_ROOT/platform-tools/systrace 目录下执行 python systrace.py -h查看帮助信息。

D:\Program Files\ADB\platform-tools_r30.0.1-windows\platform-tools\systrace> python systrace.py -h
Usage: systrace.py [options] [category1 [category2 …]]
Example: systrace.py -b 32768 -t 15 gfx input view sched freq
Options:
-h, --help show this help message and exit
-o FILE write trace output to FILE
-j, --json write a JSON file
–link-assets (deprecated)
–asset-dir=ASSET_DIR
(deprecated)
-e DEVICE_SERIAL_NUMBER, --serial=DEVICE_SERIAL_NUMBER
adb device serial number
–target=TARGET choose tracing target (android or linux)
–timeout=TIMEOUT timeout for start and stop tracing (seconds)
–collection-timeout=COLLECTION_TIMEOUT
timeout for data collection (seconds)
-t N, --time=N trace for N seconds
-b N, --buf-size=N use a trace buffer size of N KB
-l, --list-categories
list the available categories and exit
Atrace options:
–atrace-categories=ATRACE_CATEGORIES
Select atrace categories with a comma-delimited list,
e.g. --atrace-categories=cat1,cat2,cat3
-k KFUNCS, --ktrace=KFUNCS
specify a comma-separated list of kernel functions to
trace
–no-compress Tell the device not to send the trace data in
compressed form.
-a APP_NAME, --app=APP_NAME
enable application-level tracing for comma-separated
list of app cmdlines
–from-file=FROM_FILE
read the trace from a file (compressed) rather than
running a live trace
Atrace process dump options:
–process-dump Capture periodic per-process memory dumps.
–process-dump-interval=PROCESS_DUMP_INTERVAL_MS
Interval between memory dumps in milliseconds.
–process-dump-full=PROCESS_DUMP_FULL_CONFIG
Capture full memory dumps for some processes. Value:
all, apps or comma-separated process names.
–process-dump-mmaps
Capture VM regions and memory-mapped files. It
increases dump size dramatically, hence only has
effect if --process-dump-full is a whitelist.
Ftrace options:
–ftrace-categories=FTRACE_CATEGORIES
Select ftrace categories with a comma-delimited list,
e.g. --ftrace-categories=cat1,cat2,cat3
WALT trace options:
–walt Use the WALT tracing agent. WALT is a device for
measuring latency of physical sensors on phones and
computers. See https://github.com/google/walt

生成报告

以下就是抓取com.abc.testmain1 60秒 内的数据

python systrace.py -t 60 sched gfx view wm am app webview -a com.abc. testmain1

备注:60秒生成154M大小文件,文件较大

PC上打开Chrome浏览器
在chrome地址栏中输入 chrome:tracing ,然后点击load按钮load你的trace.html文件。

进程较多,可以选择指定的进程查看。


右上角搜索关键词,看一下关键线程的运行时间。

选择View Options ,勾选Highlight Vsync ,出现灰白相间条纹,表示VSync间隔信号。用的120Hz手机,每个间隔是约8.3ms

通过systrace可以清楚函数执行顺序,启始时刻,结束时刻,协助问题定位。选中个时间片段,按m键,显示耗时。

帮助


点击右上角?号打开帮助文档

Trace图上定位

写了追踪标签:

Trace.beginSection("ShangHai_Application_onCreate");

怎样定位到自定义标签了?流程如下:

  1. 在图1地方搜索关键词
  2. 在图2地方找到时间起始位置
  3. 将traceview移到指定时间位置,即图3地方时间点,就找到自定义标签的Trace了。

Perfetto导入Systrace

直接用https://ui.perfetto.dev网址打开,点选

参考:
SysTrace官网:
https://developer.android.com/topic/performance/tracing


作者简介:https://shimo.im/docs/rp3OVwxle2fJn7Am/
上海徐汇
2022年4月11日

安卓Systrace工具使用流程相关推荐

  1. systrace html空白,Android性能优化之Systrace工具介绍(一) _ Systrace生成的trace.html打开空白或者打不开的解决办法...

    1.必须用Chrome打开 2.在mac电脑上,可能Chrome打开也是空白,解决办法是:在chrome地址栏中输入"chrome:tracing",然后点击load按钮load你 ...

  2. 安卓 dump 工具 影响_工具如何影响文化?

    安卓 dump 工具 影响 大多数DevOps社区都在谈论工具的重要性如何. 论据认为,文化必须首先改变,这可能会改变工具的使用方式. 我同意和不同意这个概念. 我相信工具和文化之间的关系比单向更共生 ...

  3. 安卓和苹果上线流程:

    安卓和苹果上线流程: 1.虽说APP开发是一个项目开花结果的过程,但APP开发后上线以及推广也是整个APP生命过程中不可或缺的一部分,整个APP设计开发上线推广是个庞大工程,若想开发一个相对完美的饿A ...

  4. 百度地图安卓版详细接入流程解读(获取密钥详解)

    百度地图安卓版详细接入流程解读 一.接入Android地图SDK 1.1 功能介绍: 1.2 接入百度地图前的准备 1.1.1 访问官网,并下载开发包 1.1.2 获取开发密钥 1.1.3 项目环境搭 ...

  5. 直播系统源码开发:关于安卓开发工具和obs直播推流

    随着移动互联网技术的不算发展,直播系统源码不再局限于娱乐直播的范畴,而是被广泛的应用于各行各业.尤其对于今年来说,购物直播行业的迅速发展,对直播系统源码开发的需求进一步扩大,同时对直播源码开发技术也有 ...

  6. [linux小水滴]systrace工具使用简介

    目录 1 简介 2 用法 3 实际操作 4 用systrace分析问题思路 4.1 功耗问题分析 5 参考链接 1 简介 在短时间内记录设备活动被称为systrace.这里所说的systrace是安卓 ...

  7. android开发工具汉化版,【开源】EA极光 - 中文安卓开发工具

    原标题:[开源]EA极光 - 中文安卓开发工具 项目介绍 EA-Code是由业余爱好者编写的一款:中文安卓app开发工具. 工具完全由易语言+jdk开发,目前版本是2.0版本. 亮点介绍 1. 程序界 ...

  8. android优化最强软件,最强大的安卓优化工具诞生,让手机流畅度提升75%

    原标题:最强大的安卓优化工具诞生,让手机流畅度提升75% 身边不少朋友表示用了iPhone之后就再也回不去安卓了,因为iOS系统的流畅度确实碾压绝大部分安卓手机.但是Android最大的优势就是用户可 ...

  9. 蓝牙配对码配置错误_安卓系统蓝牙配对流程分析

    安卓系统蓝牙配对流程分析 配对流程基本上始于首次连接一个蓝牙设备的过程中,本端的搜索流程结束获取到该设备的BluetoothDevice信息,就可以开启配对流程. 配对,顾名思义就是将两个设备通过相关 ...

  10. Inspeckage,安卓动态分析工具

    From:安卓分析工具 Inspeckage 介绍:http://xdxd.love/2016/08/09/安卓分析辅助工具Inspeckage介绍/ PJ 微信数据库 并查询数据上传服务器:http ...

最新文章

  1. IBM中国研究院被曝已全面关闭
  2. C语言 基础60题(5)
  3. C指针原理(21)-C指针基础-ATT汇编
  4. 响应式布局html像素值计算,CSS Calc():制作响应式网格布局的锋利武器
  5. 【Linux】一步一步学Linux——env命令(201)
  6. 2020春招机考汇总1(Python):农场养鸡、连续子序列最大值的期望
  7. 855计算机应用基础,2017年曲阜师范大学信息技术与传播学院855计算机应用基础考研导师圈点必考题汇编...
  8. gateway动态路由_Java如何用Spring Cloud奇淫小技巧 来使用gateway作为服务网管
  9. 学习中碰到的一些优化工具包和库
  10. 华为P50 Pro+最新渲染图曝光:双环形相机模组内有乾坤
  11. gzip: File too large错误
  12. uc点网页显示服务器升级,让uc浏览器网页加载速度提升100%
  13. 写给准备用mcafee8.5i企业版的朋友
  14. 华为安装gsm框架_华为手机怎么安装 GMS 框架和谷歌应用?
  15. CN2专线和普通国际对比优势在哪里 有什么优势
  16. Linux递归修改后缀名
  17. 10 Model Card 保证AI模型伦理道德的好工具
  18. 古典密码----仿射密码加解密
  19. (一)大数据学习引言——大数据概述
  20. 关闭工单时报错 订单 XXXX 的未处理将来更改记录阻止删除标记/完成

热门文章

  1. Ubuntu20.04 FTPS配置指南
  2. Apache高并发测试工具JMeter
  3. 欧拉角到方向余弦矩阵
  4. Adobe Photoshop CC2014 安装过程
  5. bios显存改8g rx_玩屏蔽?爆4GB显存版RX480可刷成8GB版
  6. OpenCV安装使用
  7. 2017北航计算机系学硕最低录取分,2018北航计算机考研初试经验帖
  8. php 倒计时插件下载,jQuery自适应倒计时插件
  9. 【vuejs】有关UI框架“ydui”中的tabbar底部导航的应用以及tabbar切换激活状态的现实
  10. JVM 学习笔记(二)垃圾回收