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

相关推荐
selt79115 分钟前
Redisson之RedissonLock源码完全解析
android·java·javascript
Yao_YongChao1 小时前
Android MVI处理副作用(Side Effect)
android·mvi·mvi副作用
非凡ghost2 小时前
JRiver Media Center(媒体管理软件)
android·学习·智能手机·媒体·软件需求
席卷全城2 小时前
Android 推箱子实现(引流文章)
android
齊家治國平天下2 小时前
Android 14 系统中 Tombstone 深度分析与解决指南
android·crash·系统服务·tombstone·android 14
maycho1234 小时前
MATLAB环境下基于双向长短时记忆网络的时间序列预测探索
android
思成不止于此4 小时前
【MySQL 零基础入门】MySQL 函数精讲(二):日期函数与流程控制函数篇
android·数据库·笔记·sql·学习·mysql
brave_zhao5 小时前
达梦数据库(DM8)支持全文索引功能,但并不直接兼容 MySQL 的 FULLTEXT 索引语法
android·adb
sheji34165 小时前
【开题答辩全过程】以 基于Android的网上订餐系统为例,包含答辩的问题和答案
android
easyboot5 小时前
C#使用SqlSugar操作mysql数据库
android·sqlsugar