android性能跟踪分析工具系列 - systrace

37624122_1408459490727.jpg

文集目录

ps:喜欢的点赞哦 android性能跟踪分析工具系列 - 目录

systrace 案例参考:


systrace 这个工具和 GPU 呈现模式分析工具是一个类型的,都是查看 app 每帧的渲染情况的,不过2个工具还是有很大不同的

优点:

  • systrace 不仅仅可以看不同计算任务的好事,可以自动分析出存在的耗时问题

缺点:

  • 缺点和他的有点同样突出,使用上比GPU 呈现模式分析工具要麻烦的多,观看上也不是那么直观
  • systrace 对英文要求很高,这个工具可以分析出耗时问题所在,但是都是英文提醒,对于我来说......

先来看看效果图:


systrace 如何使用

systrace 是 Android SDK 自带的工具,获取的是指定时间内android 统计进程手机的系统数据 。

在 android studio 中点击: tools - android - android devices monitors,启动 DDMS 界面


Snip20170915_22.png

然后在 DDMS 界面坐上部分的工具栏中,点击 capture system 工具


Snip20170915_24.png

现在就进入了 systrace 的设置界面,我们设置下截取时间,注意时间以秒为单位的,还可以设置生成文件的保存位置


Snip20170915_25.png

然后我们开始自己的操作,操作完后,再点击 DDMS 上相同的位置,就会生成一个 .html 的文件,我们在前面的设计界面里可以设置保存位置,最后我们就可以使用 chrome浏览器打开这个文件了


如何获取信息

再来看看 systrace 给我获取到的系统信息图


看最小面是不是有一排 F ,蓝色的 F 表示不丢帧,黄色的 F 表示有轻微丢帧,红色的 F 表示严重丢帧。我们点击一个具体的 F 看下


Snip20170915_19.png

卧槽,都是英文,纳尼,没办法翻译工具走起吧,这里我是使用 lottie库跑了一个全屏宽的动画效果,看看这一溜的大红色,丢帧严重啊,说明lottie库展示尺寸大的动画是很卡的,软研效率好低啊。我们点击了期中一个 红色的 F,看看下面提示了3个问题:

  • Expensive Bitmap uploads
    说明有大的位图上传给 gpu,这里耗时
  • Long View#draw()
    说明view 的 onDraw 方法耗时严重,lottie 是在 canves 中进行了大量 path 绘制,并且有时会有 bitmap 生成。
  • Scheduling delay
    调度延迟,可能是 UI 线程延迟,或是 GPU 工作量大,CPU 等待 GPU 通知造成延迟。结合具体,这里是 GPU 任务量大,通知 CPU 延迟了。

每个 F 都有4个色块,点击每个色块都有详细的说明,包括耗时,问题,那么每个色块代表什么含义呢:

  • 浅绿色 performTraversals :
    这个应该是表示视图计算部分的任务,包括有变化的 view 的 measu,layout
  • 紫色 draw :
    这个应该是view 的 onDraw 计算部分
  • 深绿色 Record View#draw() :
    这部分应该是CPU 计算数据,生成每帧的纹理的计算部分
  • 深绿色 buildDrawingCache :
    这个应该是上传纹理数据给 GPU 的任务部分

官方文档

以上的色块表示什么计算任务是我个人猜测的,没找到具体的资料,有兴趣的去翻下官方文档,我的英文实在是上不了台面

快捷键

一般我们都会获得很多帧,这样下面的 F 就会很挤,看着不方便,我们使用一下快捷键可以放大,缩小,选择上一个/下一个 F

代码方式使用

另外 systrace 还可以使用以代码的方式使用,获取指定方法的渲染帧,我是没这样用过,下面我抄了一段过来

通过Trace类来实现这个功能。它能够让你在任何时候跟踪应用的一举一动。在你获取trace的过程中,Trace.beginSection()与Trace.endSection()之间代码工作会一直被追踪。

ps: 最后我想说,这个 systrace 工具我也只是能够粗浅的使用,你看其中哟很多数据的,这个还需大家自己没事都研究,有跟好的研究成果要及时通知我哦,另外喜欢的大家点个赞哦!

*** 参考文档:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,911评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,014评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 142,129评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,283评论 1 264
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,159评论 4 357
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,161评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,565评论 3 382
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,251评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,531评论 1 292
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,619评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,383评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,255评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,624评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,916评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,199评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,553评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,756评论 2 335

推荐阅读更多精彩内容