转载请注明出处:https://www.cnblogs.com/zzcperf/p/13978915.html

Android systrace是分析性能问题最称手的工具之一,可以提供丰富的手机运行信息。

经过摸索,我们可以挖掘出许多技巧,分析问题更加得心应手。

第一篇文章,我先将systrace的官方文档引用一番,毕竟分析systrace的基本操作,是介绍后续技巧的铺垫。

希望我下面对官方文档的体会,能减少翻译腔文档对读者耐心的磨损。

以后每篇文章,开头就来设定小目标吧^^

--------------------------------------------------------

这篇文章的小目标:

1. 抓取systrace的方法

2. 浏览systrace的基本操作

-----------------------------------------

1) 抓取systrace的方法。

Systrace 命令行参考文档:https://developer.android.google.cn/topic/performance/tracing/command-line?hl=zh-cn

相关的博文很多,我就不啰嗦了。

提示:systrace的脚本需要用Python2

技巧:如果使用Windows,缺少python的库,安装前搜关键字“pip 镜像”有惊喜,可以加快下载速度

2)浏览systrace

浏览 Systrace 报告:https://developer.android.google.cn/topic/performance/tracing/navigate-report

相关的博文同样很多,但我很想分享一个技巧:

官方文档竟然没有提示,打开Chrome浏览器,要输入chrome://tracing,点击Load,加载抓取到的trace.html。

如果直接打开或者拖动,有可能会无法显示进程短暂的就绪状态,这个挺重要,后续再详细说明。

初次接触,不少人觉得界面太复杂了。其实我们应该先概览,了解各个区域的分工,在分析问题中,只关注问题相关的信息就好了。

下面标注了官方的图,不知道看完后大家还觉得复杂不。

CPU核心区:显示CPU频率,显示进程在各个CPU的运行情况

进程、线程、事件区域:显示进程的状态,各个流程的耗时,和事件的发生

详细信息区:对选中的流程或事件,提供更加详细的信息。

入门第一招就是这样,干货都在文档里,下一篇文章,我们去了解systrace最实用的一招,也是学完就能干活的一招。

[Android systrace系列] systrace入门第一式的更多相关文章

  1. [Android systrace系列] systrace的信息从哪里来

    -------------------------------------------------------------- 这篇文章的小目标: 1. systrace是怎么抓出来的 2. 这些信息的 ...

  2. [Android systrace系列] 抓取开机过程systrace

    ------------------------------------------------------------------------- 这篇文章的小目标:了解抓取开机过程systrace的 ...

  3. Android视频录制从不入门到入门系列教程(一)————简介

    一.WHY Android SDK提供了MediaRecorder帮助开发者进行视频的录制,不过这个类很鸡肋,实际项目中应该很少用到它,最大的原因我觉得莫过于其输出的视频分辨率太有限了,满足不了项目的 ...

  4. Android视频录制从不入门到入门系列教程(三)————视频方向

    运行Android视频录制从不入门到入门系列教程(二)————显示视频图像中的Demo后,我们应该能发现视频的方向是错误的. 由于Android中,Camera给我们的视频图片的原始方向是下图这个样子 ...

  5. Android:通过systrace进行性能分析

    一.Systrace 简介 Systrace 允许您在系统级别(如SurfaceFlinger.WindowManagerService等Framework部分关键模块.服务.View系统等)收集和检 ...

  6. 【Android进阶系列教程】前言

    起因 因为初学Android的时候还没有写博客的意识,现在Android的门是入了,正在进阶的道路上行走,但是就这一路也走了不少的弯路.我想,总得来说Android入门还是比较容易的,网络资源比较丰富 ...

  7. Android设计模式系列

    http://www.cnblogs.com/qianxudetianxia/category/312863.html Android设计模式系列(12)--SDK源码之生成器模式(建造者模式) 摘要 ...

  8. Analyzing UI Performance with Systrace 使用systrace工具分析ui性能

    While developing your application, you should check that user interactions are buttery smooth, runni ...

  9. Android Studio JNI开发入门教程

    Android Studio JNI开发入门教程 2016-08-29 14:38 3269人阅读 评论(0) 收藏 举报  分类: JNI(3)    目录(?)[+]   概述 在Andorid ...

随机推荐

  1. CentOS 7 搭建 Ceph 集群(nautilus 版本)

    搭建 Ceph 分布式集群( nautilus 版本 ) 一.服务器环境说明 主机名 角色 IP地址 ceph-admin ceph-deploy 192.168.92.21 ceph-node1 m ...

  2. Unity报错:xxx AnimationEvent has no function name specified!

    参考:https://blog.csdn.net/register_man/article/details/54172778 在开发时出现了题目中的错误且有动画掉帧的情况,搜索后发现是在动画编辑器中我 ...

  3. Java的Arrays.sort()方法到底用的什么排序算法

    暂时网上看过很多JDK8中Arrays.sort的底层原理,有些说是插入排序,有些说是归并排序,也有说大于域值用计数排序法,否则就使用插入排序...其实不全对.让我们分析个究竟: 1 // Use Q ...

  4. Mybatis 批量更新遇到的小问题

    小问题 记一个开发过程中因为小细节的遗漏而引发的 "莫名其妙",公司中有个2B(to B)供应链项目,持久层用的是 JPA,这里我就不吐槽 JPA 了,这种 SQL 嵌入在代码里的 ...

  5. SQL Plus的使用详解(登录和常用命令)

    1.SQL Plus简介 SQL Plus工具是随 Oracle数据库服务器或客户端的安装而自动进行安装的管理与开发工具, Oracle数据库中所有的管理操作都可以通过 SQLPlus工具完成. SQ ...

  6. vue实现带logo的二维码/商品条形码/打印商品吊牌

    一.带logo的二维码 1.安装 npm install vue-qr --save 2.在页面或组件中使用 <template> <div id="qrcode" ...

  7. 分布式流平台Kafka

    提到Kafka很多人的第一印象就是它是一个消息系统,但Kafka发展至今,它的定位已远不止于此,而是一个分布式流处理平台.对于一个流处理平台通常具有三个关键能力: 1. 发布和订阅消息流,在这一点上它 ...

  8. VMware 虚拟机下CentOS 7连接网络

    查看主机网络配置 ipconfig 1.在centos打开终端命令 2. 输入命令 cd /etc/sysconfig/network-scripts/  进入文件 输入 ls查看此文件夹下的文件 3 ...

  9. ctf堆叠注入总结(持续更新)

    第一种 1';USE db_name;SET @sql=CONCAT('sql contents');PREPARE stmt_name FROM @sql;EXECUTE stmt_name; 第二 ...

  10. leetcode 30day--2

    202. Happy Number Write an algorithm to determine if a number n is "happy". A happy number ...