转载请注明出处: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. kong in kubernetes

    网关 这里提到的网关特指API网关.API网关是在微服务架构的演进过程中产生的,其核心功能是聚合后端服务,为客户端调用提供统一的门户.由于网关的集中式管理,在其上又衍生了限流.负载.路由管理.安全防护 ...

  2. 基于gin的golang web开发:访问mysql数据库

    web开发基本都离不开访问数据库,在Gin中使用mysql数据库需要依赖mysql的驱动.直接使用驱动提供的API就要写很多样板代码.你可以找到很多扩展包这里介绍的是jmoiron/sqlx.另外还有 ...

  3. XJOI 7191 Genius ACM

    二分+倍增 题目 题目中的最大校验值应由数组排序后,取出最大值和最小值,次大值和次小值--进行做差平方取和 所以在加入一个新的数时,校验值是不会下降的 那么可以发现,校验值是单调递增的,所以可以用二分 ...

  4. Reactor:深入理解reactor core

    目录 简介 自定义Subscriber Backpressure处理 创建Flux 使用generate 使用create 使用push 使用Handle 简介 上篇文章我们简单的介绍了Reactor ...

  5. VS中Dev控件在工具箱里的不见的解决办法

    出现问题:调整了VS中Dev控件后(以免生成程序每次都要在客户机上面注册dev),之前安装的DEV控件在vs工具箱中消失了,重装可以解决,但是太费时间了,检测dev自带的设置,找到了解决办法. 解决办 ...

  6. 解Bug之路-NAT引发的性能瓶颈

    解Bug之路-NAT引发的性能瓶颈 笔者最近解决了一个非常曲折的问题,从抓包开始一路排查到不同内核版本间的细微差异,最后才完美解释了所有的现象.在这里将整个过程写成博文记录下来,希望能够对读者有所帮助 ...

  7. java实现科研信息管理系统

    一.前言 本学期学习了JAVA语言,在学期的结束,写一个有操作界面,与数据库关联的管理系统,用来巩固自己本学习所学的知识.用到的知识:JAVA基础,JAVA界面设计(GUI),Oracle数据库(需要 ...

  8. 操作失误不要慌,这个命令给你的Git一次反悔的机会

    今天我们来介绍git当中两个非常非常好用的工具,git show和reflog. 这两个命令虽然不是必知必会,但是如果熟练使用可以极大地帮助我们查看代码仓库的问题,以及在我们操作失误的时候拯救我们.可 ...

  9. 转 Cache一致性和内存模型

    卢本伟牛逼,写得很好 https://wudaijun.com/2019/04/cpu-cache-and-memory-model/ 本文主要谈谈CPU Cache的设计,内存屏障的原理和用法,最后 ...

  10. shell中if/seq/for/while/until

    1.if语句格式:  if 判断条件:then statement1 statement2 fi; 例子: 判断/test/a普通文件是否存在,存在则输出yes,不存在则输出no,并创建.  #! / ...