转载请注明出处: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. 在PLC中开关量采集模块的作用

    PLC系统作为工业控制的基础设备在如今的现代化工厂应用中已经非常的广泛.许多工厂应用中,都需要对现场采集来的脉冲信号进行计数统计.如果是使用专用脉冲计数模块的话,价格会非常的昂贵,在很多采集低速脉冲信 ...

  2. python使用zlib库压缩图片,使用ffmpeg压缩视频

    python压缩图片.视频 图片压缩使用zlib库 视频压缩使用工具ffmpeg # ffmpeg -i 1.mp4 -r 10 -pix_fmt yuv420p -vcodec libx264 -p ...

  3. 【Postman】使用Postman实现接口数据关联

    首先下载安装Postman直接打开官网,点击下载按钮即可完成下载https://www.getpostman.com/downloads/ 栗子业务场景:用户登录医生账户,查询自己的处方列表数据:用户 ...

  4. uniapp微信授权操作后事件不触发

    微信小程序官网代码 <button form-type="submit" open-type="getUserInfo" bindgetuserinfo= ...

  5. mysql 一主多从环境搭建(亲测)

    前期准备 三台服务器,服务器使用的是 centos7 mysql-5.7.24-linux-glibc2.12-x86_64 安装包 使用是版本是 mysql-5.7.24 数据库安装 将 mysql ...

  6. Thinkphp3.2 cms之文章模块

    二.文章模块 <?php namespace Admin\Controller; use Think\Controller; class NewController extends Common ...

  7. thinkPHPbiji

    ThinkPHP3.2验证码操作 在当前的控制器内 我这里是登录后台控制器 class LoginController extends Controller { public function ind ...

  8. 5 Post和Get

    5 Post和Get GET和POST有什么区别?及为什么网上的多数答案都是错的 知乎回答 get: RFC 2616 - Hypertext Transfer Protocol -- HTTP/1. ...

  9. ORA-00020: maximum number of processes (40) exceeded模拟会话连接数满

    问题描述:在正式生产环境中,有的库建的process和session连接数目设置的较小,导致后期满了无法连接.因为正式库无法进行停库修改,只能释放连接,做个测试模拟 1. 修改现有最大会话与进程连接数 ...

  10. 索引--mysql 数据库Load data大量数据时性能因素之一

    发现load data infile 插入数据时越来越慢,后来发现是因为创建表时有创建索引的动作. 把索引创建删除掉之后,导入很迅速,导入后再创建索引,效率果有提高.