bootchart抓Android系统启动各阶段性能数据

最近在做Android系统启动优化,首要任务是找到启动过程中各阶段耗时点,进而有针对性地进行优化。主要用bootchart抓开机数据,本文主要记录下工具的使用方法。

1.抓开机数据

adb root adb shell 'touch /data/bootchart/enabled'

adb reboot

重启后,生成的文件位于机器的/data/bootchart下。

2.解析数据

2.1 安装解析工具

复制代码
sudo apt install python-is-python3  //如果已经安装了pyhton3,就不需要再次安装
cd ~/Documents   //任意一个文件夹都可以
git clone https://github.com/xrmx/bootchart.git
cd bootchart/pybootchartgui
mv main.py.in main.py

2.2 指定pybootchartgui.py的路径

到下载的bootchart代码目录里找到pybootchartgui.py,记下全路径, 在$ANDROID_BUILD_TOP/system/core/init/grab-bootchart.sh里指定pybootchartgui.py的全路径, 注意,python要用python3

2.3 解析数据

在android源码根目录执行如下命令即可

$ANDROID_BUILD_TOP/system/core/init/grab-bootchart.sh

解析后在当前目录生成一个bootchart.png 的文件,截取一部分如下:

3.恢复出厂怎么抓bootchart ?

恢复出厂时,想抓开机各阶段的数据该怎么抓。恢复出厂会把/data下的数据都清除掉,所有只有通过修改代码如下:

/system/core/init/bootchart.cpp

参考:https://source.android.com/docs/core/perf/boot-times#bootchart

相关推荐
CYRUS_STUDIO5 小时前
Frida 检测与对抗实战:进程、maps、线程、符号全特征清除
android·逆向
csj506 小时前
安卓基础之《(28)—Service组件》
android
lhbian8 小时前
PHP、C++和C语言对比:哪个更适合你?
android·数据库·spring boot·mysql·kafka
catoop9 小时前
Android 最佳实践、分层架构与全流程解析(2025)
android
ZHANG13HAO9 小时前
Android 13 特权应用(Android Studio 开发)调用 AOSP 隐藏 API 完整教程
android·ide·android studio
田梓燊10 小时前
leetcode 142
android·java·leetcode
angerdream10 小时前
Android手把手编写儿童手机远程监控App之JAVA基础
android
菠萝地亚狂想曲10 小时前
Zephyr_01, environment
android·java·javascript
sTone8737511 小时前
跨端框架通信机制全解析:从 URL Schema 到 JSI 到 Platform Channel
android·前端
sTone8737511 小时前
Java 注解完全指南:从 "这是什么" 到 "自己写一个"
android·前端