转载请注明出处: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. 关于LoRa安全联盟的六大常见问题

    LoRaWAN的安全机制在哪里指定? 所有安全机制都在LULA联盟规范中指定,可以由公众下载. LoRa联盟规范如何保证LoRaWAN网络的安全操作? LoRaWAN支持来源认证.完整的媒体访问控制( ...

  2. Linux exec族函数解析

    背景 在提到 vfork 函数时,我们提到了这个概念.为了更好地学习与运用,我们对exec族函数进行展开. exec函数族 介绍 有时我们希望子进程去执行另外的程序,exec函数族就提供了一个在进程中 ...

  3. 基于tensorflow的文本分类总结(数据集是复旦中文语料)

    代码已上传到github:https://github.com/taishan1994/tensorflow-text-classification 往期精彩: 利用TfidfVectorizer进行 ...

  4. 转载-Eclipse无法打开Eclipse MarketPlace的解决办法

    问题描述: Eclipse点击 help-->Eclipse MarketPlace 后无任何反应,无报错,打不开 解决方法: 重新安装一下 epp MarketPlace help--> ...

  5. .NET redis 客户端开源组件 FreeRedis (继 CSRedisCore 之后重写)

    什么是 FreeRedis FreeRedis 是一款 .NET redis 客户端开源组件,以 MIT 协议开源托管于 github,目前支持 .NET 5..NETCore 2.1+..NETFr ...

  6. NER的数据处理

    import os class TransferData: def __init__(self): cur = '/'.join(os.path.abspath(__file__).split('/' ...

  7. 【有奖众测】给HMS Core文档提建议,赢大奖华为Watch!

    为了提升HMS Core开发者的文档体验,提升开发效率,邀请所有开发者体验HMS Core文档,并贡献您的建议. 无论是文档让您困惑的地方,还是您发现的问题,或者您觉得可以做的更好的地方,都可以尽情的 ...

  8. JS中的Array之length不同JAVA之处

    1.length属性可写 a=[2,4,5,6,7,90]; //a.length->6 a.length=8; //a=[2, 4, 5, 6, 7, 90, undefined , unde ...

  9. linux netfilter ----iptable_filter

    内核中将filter模块被组织成了一个独立的模块,每个这样独立的模块中都有个类似的init()初始化函数:首先来看一下filter模块是如何将自己的钩子函数注册到netfilter所管辖的几个hook ...

  10. 快速熟悉 Oracle AWR 报告解读

    目录 AWR报告简介 AWR报告结构 基本信息 Report Summary Main Report RAC statistics Wait Event Statistics 参考资料 本文面向没有太 ...