android测试工具之systrace
发布日期:2022-02-09 20:39:14 浏览次数:6 分类:技术文章

本文共 1320 字,大约阅读时间需要 4 分钟。

测试准备

Systrace工具特别适合用来分析UI的性能。

理论基础:在开发应用时,通常使用60fps的帧率来检测交互是否流畅,及16.66ms/帧

首先确认一点,android studio集成了所有Android SDK下的工具。涉及android SDK的工具可以直接在android studio中安装使用。Android SDK

另外新的版本android studio取消了systrace的菜单,需要到android的SDK目录下打开该工具。

mac中android studio的安装目录为:

注意此目录在进入的时候需要以下命令:cd /Applications/Android\ Studio.app/Contents,规避空格

/Applications/Android Studio.app/Contents$

android studio的资源库安装目录:注意通过finder访问这个目录的时候,lounious下无Library,而是一个隐藏文件夹:资源库

/Users/lounious/Library/Android/sdk

使用systrace

lounious:~$     cd ./Library/Android/sdk/platform-tools/systrace/lounious:~/Library/Android/sdk/platform-tools/systrace$     lsNOTICE            UPSTREAM_REVISION catapult          systrace.pylounious:~/Library/Android/sdk/platform-tools/systrace$python systrace.py -o trace.html --time=10 --app=com.alipay.iot.xpaas sched gfx view wm

如何分析systrace报告:

快捷键:

w放大时间轴

s缩小时间轴

a右移时间轴

d左移时间轴

e 右移时间轴

圆形的颜色含义

通常是绿色的,颜色为黄色或者红色的圆形表示该帧超过了维持平滑流畅的60帧每秒(FPS)所需的16.6毫秒的运行时间限制。我们知道,FPS>=60时,我们就不会觉得动画卡顿。当FPS=60时是个什么概念呢?1000/60≈16.6,也就是说在大概16ms中,我们要进行一次屏幕的刷新绘制。Vsync是垂直同步的缩写,每16ms会有一个Vsync信号,那么系统在每次拿到Vsync信号时刷新屏幕,我们就不会觉得Jank了(闪烁,可以理解为卡顿或者停顿)。

Jank的类型

static const char* JANK_TYPE_NAMES[] = {

   "Missed Vsync", //错过vsync

   "High input latency", //高输入延迟

   "Slow UI thread", //UI线程耗时

   "Slow bitmap uploads", //图片上传耗时

   "Slow issue draw commands", //执行渲染命令耗时

};

 

转载地址:https://blog.csdn.net/louniuous/article/details/105852903 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:界面控件识别工具-UI atomator
下一篇:JAVA集合:HashMap原理剖析

发表评论

最新留言

关注你微信了!
[***.104.42.241]2024年03月01日 22时43分46秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

linux crontab 备份数据库 空文件,Linux下使用crontab自动备份数据库 2019-04-21
linux批处理模式,巧用linux-top的批处理模式 2019-04-21
linux信号量机制例题,第二章 信号量机制及几个经典例题 2019-04-21
linux ba 模拟,在你的 Python 游戏中模拟引力 | Linux 中国 2019-04-21
c语言表达式3649的值是,535个C语言经典实例目录.doc 2019-04-21
c语言Wndproc未定义,小弟我用c语言写了一个windows窗口,为什么有提示未定义的变量类型... 2019-04-21
c语言中malloc数组,如何在C中对malloc()数组进行一行赋值? 2019-04-21
c语言调存储过程,写留言板–调用存储过程出问题 2019-04-21
c语言编程max,C语言编程题及答案.doc 2019-04-21
android测试页面,自动执行界面测试 | Android 开发者 | Android Developers 2019-04-21
android 图片点击变色,Android开发实现ListView点击item改变颜色功能示例 2019-04-21
android增删改查布局,Android之父_增删改查 2019-04-21
vowifi android开关,如何配置VoLTE, ViLTE and VoWifi(IMS config for VoLTE, ViLTE and VoWifi) 2019-04-21
电脑端的mafsvr服务关掉_网吧才是电脑优化的精髓!学会3招你也不用羡慕网吧的流畅了... 2019-04-21
html获取文件路径_HTML 文件路径 2019-04-21
mysql滴的一声就关了_关于mysql数据库在输入密码后,滴的一声直接退出界面的解决办法(详细办法)... 2019-04-21
mysql in 有序_mysql中的in排序 mysql按in中顺序来排序 2019-04-21
mysql 行转列 显示_mysql 行转列 (结果集以坐标显示) 2019-04-21
mysql 完全备份恢复吗_MySQL完全备份与恢复 2019-04-21
wpf 绘制矩形_WPF制作倒影效果 2019-04-21