赞
踩
关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。
专注于分享各领域原创系列文章 ,擅长java后端、移动开发、商业变现、人工智能等,希望大家多多支持。
未经允许不得转载
我们继续总结学习基础知识,温故知新。
systrace是Android4.1版本之后推出的,对系统Performance分析的工具,该工具结合Android 内核的数据,最终会生产html文件。
systrace的功能包括跟踪系统的I/O操作、内核工作队列、CPU负载以及Android各个子系统的运行状况等
Systrace允许你监视和跟踪Android系统的行为(trace)。
但是使用起来比较复杂,还得整个Python 2.7 环境,同时产物体积庞大,网页打开速度很慢。
为此,我们要找个更好的工具,索性字节有个开源工具, btrace(AKA RheaTrace),它是基于 Systrace 的高性能 Trace 工具。
本文简单做个记录,防止找不到文档了。
项目配置
在您项目的根目录下build.gradle文件中增加 rhea-gradle-plugin 作为依赖。
buildscript {
dependencies {
classpath 'com.bytedance.btrace:rhea-gradle-plugin:2.0.3-rc02'
}
}
接着,在app/build.gradle文件中应用如下所示插件和依赖。
dependencies {
// rheatrace core lib
implementation "com.bytedance.btrace:rhea-core:2.0.3-rc02"
}
...
apply plugin: 'com.bytedance.rhea-trace'
...
rheaTrace {
compilation {
traceFilterFilePath = "${project.rootDir}/trace-filter/traceFilter.txt"
needPackageWithMethodMap = true
applyMethodMappingFilePath = ""
}
}
然后运行app,
注
确保电脑已集成 adb 与 Java 环境。
连接手机至电脑,并保证可被 adb devices 识别。
安装集成 RheaTrace 2.0 的 APK 至手机。
下载下方“脚本管理” 最新脚本至电脑。
在电脑脚本所在目录执行如下命令。
java -jar rhea-trace-processor-2.0.0.jar -a com.xxx -t 10 -o output.pb -r rhea.all sched -fullClassName
java -jar rhea-trace-processor-2.0.0.jar -a com.xxx -t 5 -o output.pb rhea.all sched -fullClassName -mode simple
-r 表示重启应用,根据需求来确定
通过上面的命令,我们可以得到一个文件,trace 产物使用 https://ui.perfetto.dev/ 即可打开分析。
感兴趣的可以看看
未经允许不得转载
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。