1. 获取simpleperf的可执行文件

android\system\extras\simpleperf\scripts\bin\android

根据你的设备选择对应的32位或者64位的可执行文件

2. 推送可执行文件到目标机中

adb push simpleperf /data/
adb shell chmod 777 /data/simpleperf

3. 利用simpleperf抓取perf.data数据

./simpleperf record -e cpu-cycles -p 22488 -g --duration 5 > perf.data

注:示例中的 " -p 22488 " 指的是需要分析的进程号, " -g " 意味着抓取的数据含有堆栈信息

4. pull数据到指定的目录

adb pull /data/perf.data android\system\extras\simpleperf\scripts\

5. 在该目录下执行如下指令

python report_sample.py --symfs android/out/target/product/sdm710/symbols/vendor/lib/hw/ > out.perf
注:示例中的 " --symfs " 指定符号表

6. 从github中获取如下工具

git clone https://github.com/brendangregg/FlameGraph.git

7. 生成火焰图

./stackcollapse-perf.pl out.perf >out.folded./flamegraph.pl out.folded >p.svg
注:上面的2个工具存在于FlameGraph的git仓库中 ,最后生成的p.svg需要用Google Chrome打开

8. 火焰图展示
Android P/Q 怎么抓取火焰图_第1张图片
注:因为信息安全原因,如上火焰图是在网上随意找的贴过来的

更多相关文章

  1. Android 中解析JSON形式的数据
  2. Android应用程序组件Content Provider的共享数据更新通知机制分
  3. Android SQLite数据库升级的问题
  4. 使用SharedPreferences存储和读取数据
  5. Android:Content Provider数据共享
  6. android中usb数据通信速率慢问题解决办法
  7. Android sqlite 数据库操作
  8. Android 自定义Listview 如何绑定Sqlite数据库数据
  9. Android的数据存储

随机推荐

  1. Android对数据库表的一个约定:每张表都应
  2. Android(安卓)弹无虚发之第三弹:ActionBar
  3. 非开发人员如何使用命令行安装和卸载Andr
  4. Android----xml文件中的控件的id设置
  5. Android(安卓)开发中重力感应的实例
  6. android库工程jar打包和混淆
  7. 【小王的安卓之路】Android原生网络请求
  8. Android(安卓)仿当乐游戏详情页面(二)
  9. 包括后台的Android美食APP项目开源代码,an
  10. android权限申请库解析