Android终端系统APP应用性能测试之响应速度&流畅度

Android性能测试的基础,给大家介绍下测试思路!

响应速度:

是指终端中的APP/应用的启动时间(包含冷启动和热启动 ,补充概念:”冷启动”:是指APP/应用第一次开启;”热启动”:是指APP/应用第二次以后开启;);

这里的启动方式有两种:1.人工手动点击打开;2.通过命令启动该应用;(这两者启动肯定是有误差的,实际上在手机面向客户,所以经常采用人工启动应用开始计时)

测试方法1:

        我们可以采用秒表计时方式,从人点击开始计时到应用打开后计算时间,但是这种计时方式是最最不准确的,误差和错误非常大,一般这种方法不推荐;

        更精准点的方法是借用仪器,类似高速摄像机,误差可以减少至毫秒级,有录像和截图,从截图和录像中,从你手机中开始点击的那一刻开始计算,而且可以直观看到用户主观的感受,非常推荐这种方式,即准确又接近用户体验,但是这种仪器非常昂贵,几十万一台不等。

测试方法2:

       通过我们终端本身日志或logcat,查看应用的启动时间,可这种启动方式也是有点误差,但是误差也很小,不比借用仪器精确。

测试方法3:

       通过第三方工具/APK(你有能力可以自己写一个),网上看有没有相关的APK下载,这个是最简单的,但不知道准确率如何,只能用于参考;

测试方法4:

       通过命令和脚本去监听应用的启动时间,这种方法常适用于该应用是通过命令启动的,如:

adb shell am start -w com.QQ.com的方式查看

(可以去搜索相关adb命令:adb命令检测apk启动时间、内存、CPU使用情况、流量、电池电量等——常用的adb命令)

       若是批量测试多个或单个压力测试,那就要写脚本了,这个相关的脚本编写就看自个了。

推荐网址: 简单获取一系列APP的冷启动时间_张长长的博客-CSDN博客_app冷启动时间

最后,测试除的结果,数据怎么判定它的标准,这个根据自己公司的规定或者情况,这里建议采用对比机,参考业界同平台对比机进行对比;

流畅度:

       这个分为系统级和app/应用级,是指终端操作即手滑动的界面流畅程度,一般情况下人为是很难感受出来,能感受出来的,说明你的手机或平板等设备已经很卡顿了,也就是我们常说的手机卡。

      在系统界面、app/应用左滑/右滑/上下滑动的流畅度,终端的界面其实是通过帧率,你所看到的界面都是一针针的帧率形成的,跟电视电脑显示器一样;

测试方法1:      

      这里给大家推荐systrace工具,这个是Android超强大的流畅度测试工具,可以看到帧率的程度情况,看单位时间内的掉帧情况;

       可以网上自行下载该工具, 下载后连接终端,这个工具使用前,要在终端界面打开GPU模式,勾选adb shell....这个选项,然后开启这个工具,在你要测试的界面,进行滑到操作(一般是10秒左右),滑到完后会生成新报告度案例;推荐: 面试Tip之Android优化工具Systrace - 掘金

       常用的比较通用的命令:
./ systrace.py -t 10 -a <package_name> -o xxtrace.html app sched gfx view am wm dalvik binder_driver freq idle load sync

      还可以通过eclipse中操作,推荐: https://jingyan.baidu.com/article/fdffd1f86dc77df3e88ca149.html

,生成的新报告可以从谷歌浏览器中查看,在文件里也会生成表格,还有html格式(用谷歌浏览器打开),如下面是测试微信界面的流畅

     

这个表格显示的是不是更明显,这个是要通过python自己写出的脚本,自己统计的哦!

Image3.png   

这图可以放大,你看在单位时间内丢了多少帧,每一帧间隔多大。 

  具体如何分析: 性能优化工具(二)-Systrace - 简书

这具体的工具使用,自己查找相关资料学习。

测试方法2:

      自身自带的工具,如GPU,这个要先调出开发模式选项,每个手机厂商的方式都不一样,最通用的是在设置--》关于手机--》多点版本号多次,就会调出开发者选项;   

       进入到开发者选项,可以看到有“GPU呈现模式分析”的选项,开启后即可以条形图和线形图的方法显示系统的界面响应速度,可以用以观察系统流畅度。那么要如何根据曲线判断系统是否流畅呢?实际上这个曲线表达的是GPU绘制每一帧界面的时间,只要不超过顶部绿线,都可以视为足够流畅。

开启GPU呈现模式分析

    只要下方的曲线不超过绿线,都可以视之为流畅

  使用系统自带方法测试流畅度的好处很多,首先是数据准确,系统肯定最知道自己的帧率如何;其次是不占资源,对流畅度测试的影响比较小。那么这个方法是否万无一失呢?其实还是有一些缺点的。比如说利用CPU渲染UI的App界面,就无法得到测试结果(当然这些界面基本无一例外卡顿无比,不用测也知道不流畅);当系统停顿了一下,例如微博加载图片时,响应速度会大幅增加,曲线瞬间突破绿线——这情况不能说不流畅,因为这属于内容和界面先后响应的机制,如果光凭曲线是否突破绿线判断是否流畅,未免太过局限。

 测试方法3:

   手机自带的Show GPU Overdraw和Profile GPU Rendering   、 Hierarchy Viewer

    这种方法也需要打开上面的GPU开关,但是选择的是:,具体步骤如下:

1.在设置里打开GPU呈现模式分析。点击Android设备的“设置”->"开发者选项",然后勾选“GPU显示配置文件”。

 

2.  操作步骤:

     (1.)重启我们的应用。启动应用以后,在系统界面或APP/应用的页面上做滑动

    ( 2.)lijiedeMacBook-Air:~ lijie$ adb shell dumpsys gfxinfo com.dianping.v1>fps.txt

    (3.)打开生成的fps.txt,找到Profile data in ms这部分数据。

 

3.为了看得更直接,我们可以把数据放到Excel中,然后以图表的形式进行查看。

4.从图中可以看出来,我这个应用的流畅度是很低的,正常情况下帧率应该在16ms左右,如果1秒60帧的话,而且Execute时间太长!所以是需要进行优化的。

点评APP:

  

       a: "Draw" : 创建显示列表(display lists,记录所有view对象的绘制指令)的时间开销。

       b: "Process" : 执行显示列表中绘制指令的时间。UI视窗中的View数量越多,需要执行的绘画命令就越多。

       c: "Execute" : 将一帧图像交给合成器compostior的时间。这部分占用的时间通常比较少

测试方法4:  

      通过第三方工具/APK(你有能力可以自己写一个),网上看有没有相关的APK下载,这个是最简单的,但不知道准确率如何,只能用于参考;

       推荐FPS Meter工具(可能需要root终端): http://dl.pconline.com.cn/download/76451.html

      当然还有很多的工具,如:Tiny Dancer、Takt、BlockCanary/Android Performance Monitor

Tiny Dancer:这个工具可以实时的显示app的帧率(GPU在一秒内绘制操作的帧数,标准是60fps)

链接: https://github.com/friendlyrobotnyc/TinyDancer

Takt:同样是实时显示帧率

链接: https://github.com/wasabeef/Takt

BlockCanary/Android Performance Monitor:用于检测主线程上的各种卡慢问题,并通过组件提供的各种信息分析出原因并进行修复。

链接: https://github.com/markzhai/AndroidPerformanceMonitor

最后,测试除的结果,数据怎么判定它的标准,这个根据自己公司的规定或者情况,跟响应速度有点点区别,这里可以采用对比机,参考业界同平台对比机进行对比,但是这个帧率丢帧太大,很明显的卡顿,那么这个不用对比机也会知道卡顿的厉害。

大家还有其他更好的方法吗?可以留言讨论

Android App性能优化总结
AI天才研究院
08-03 1191
1.1 为什么写这个系列Android系统作为当前最流行的移动设备操作系统,其广泛应用、高速迭代以及庞大的市场份额都对其性能提出了极高的要求。性能优化也成为企业应对快速发展和海量用户的第一道防线。因此,对于Android平台上应用性能的优化,不仅仅局限于单个应用,而是整个移动终端系统的关键。1.2 本系列的主要内容本系列将从系统层面到应用层面,通过系统架构、应用设计模式、运行机制等方面,全方位探讨Android平台上应用性能优化的实践经验。Android系统架构设计及启动流程分析。
Android流畅测试
u011904605的博客
10-25 760
http://www.cnblogs.com/summer-sun/p/5524663.html http://www.cnblogs.com/summer-sun/p/5524663.html http://www.cnblogs.com/summer-sun/p/5524663.html Android流畅测试 测试方法一:系统自带-开发者模式
Android真机app性能测试(CPU,内存,启动时间)】
kaolalovetree的博客
04-13 5044
anroid性能测试
全网最全移动端App性能测试方法,值得收藏
最新发布
m0_70669463的博客
09-02 1079
软件的响应时间和响应速度直接影响到用户的体验,如果一个软件,迟迟加载不出来,会直接影响到软件的日活、留存。因此对于一个软件,对响应速度测试是必不可少的。
APP响应时间和响应速度测试
eva
06-28 3562
测试点:APP启动相应时间和相应速测试 冷启动:首次启动App的时间间隔,不包括页面加载,只是启动时间。 热启动:非首次启动App额时间间隔,不包括页面加载,只是启动时间。 测试方法: 冷启动: adb shell am start -W com.XXX.XX/ui.LauncherUI ***绝对路径,首个Activity。 ***am是shell中集成的一个命令,ActivityManager的简写。 ***-W是指启动完成后,返回启动耗时。 ***可能存在app缓存(提示:Warn
android端手机测试体系
weixin_30593261的博客
12-19 371
  今天恰逢请假在家休息,本来想出门散散心的,但是去了沃尔玛,发现什么都买不起就灰溜溜地回家继续搬砖了。   到家,看到群里的朋友在讨论怎么来测android端的手机测试,那么我在这里想引经据典一下,接下来这篇android端手机测试体系那么应遇而出了。本文仅是给大家一个大概的android手机测试体系,详细学习不做解释。   1.冒烟测试   跟web端的测试流程一样,你拿到一个你们开发做...
使用 Rational Functional Tester 测试应用软件的操作响应速度
H382803082的专栏
04-24 642
使用 Rational Functional Tester 测试应用软件的操作响应速度     级别: 初级欧 迎丰, 软件测试工程师, IBM赵 暇, 资深软件工程师
APP性能测试(启动速、内存、CPU、FPS、GPU、耗电量)
热门推荐
xiadanying的博客
06-12 2万+
文章目录启动速内存CPUFPS(应用的使用流畅)GPU渲染耗电量 启动速 测试内容 冷启动速 热启动速 完全启动速 有网启动速 无网启动速 主要测试冷启动和热启动 测试标准 测试标准:冷启动时间不超过1.5s, 热启动不超过1s 测试方法 方法1:通过FFmpeg录屏拆帧 https://ffmpeg.zeranoe.com/builds/官网 https://w...
Android App性能与专项测试详解
对于rom版本的性能测试,主要关注的是系统的整体表现,如系统响应速度、稳定性以及系统资源的利用率。而应用app性能测试则更侧重于具体应用的表现,涵盖多个测试项: 1. 资源消耗:检测应用在运行时对CPU、内存、...
App性能测试揭秘(Android篇)
Mobile_code的博客
12-22 1779
阿里云 云原生应用研发平台EMAS 李嘉华(千瞬) 简介:性能测试在移动测试领域一直是一个大难题,它最直观的表现是用户在前台使用 App 时的主观体验,然而决定体验优劣的背后,涉及到了许许多多的技术变迁。阅读此文,带你揭秘App性能测试。 前言 性能测试在移动测试领域一直是一个大难题,它最直观的表现是用户在前台使用 App 时的主观体验,然而决定体验优劣的背后,涉及到了许许多多的技术变迁。 当我们习惯于诺基亚时,智能机出现了;当我们学会native开发时,hybrid来了;当各种 hybrid.
Android应用终端适配全攻略
本资源主要涵盖了多个专家对于Android应用在不同终端上的兼容性和性能优化的分享,以下是对这些分享的详细解析: 1. **APP性能之终端兼容优化分享——by huaxiannv** huaxiannv的分享可能涉及到如何针对不同屏幕...
基于BLE和Wi-Fi的Android移动应用性能比较
能量文章基于传感器数据驱动应用的原生和混合Android移动应用性能比较基于蓝牙低功耗(BLE)和Wi-Fi通信架构的应用Aleksander Kaczmarczyk、Piotr Zaja Zaghic和Wojciech Zabierowski *罗兹理工大学微电子与计算机...
Android性能测试APP&FPS的方法
qq_45603259的博客
03-17 2018
Prepare:在一些旧adb版本中是算在process上,就是指从创建显示列表到执行显示列表的这一段准备时间的开销。Draw: 表示在Java中创建显示列表部分中的时间开销,OnDraw()方法占用的时间。可见,我测试的APP的fps基本都是小于10,暂时不需要优化,天才写的代码果然没有问题。Process:表示渲染引擎执行显示列表所花的时间,UIview数量越多,时间就越长。上面说到,完整显示一帧 ,这个时间要小于16ms才能保存每秒60帧。1、Android手机一部(我的是小米12Pro)
测试Android手机的流畅性!---性能测试
liuhongbin2011net的博客
04-07 1392
其实是实际显示帧数据的后台缓存区与前台缓冲区交换后并将前台缓冲区的内容显示到屏幕上的时间。2、打开设备的【设置】,进入开发者选项,在GPU呈现模式分析下选择【在 adb shell dumpsys gfxinfo 中】。一帧可以看做是一张的独立图片,60帧每秒就意味着:1000/60Hz=16ms,在显示屏幕上要保证每帧小于16ms才能视为顺畅。Process:表示渲染引擎执行显示列表所花的时间,view越多,时间就越长。3、在开启这个功能后,重新启动需要测试的APP,滑动页面,上下左右滑动。
Android检测网络接口访问速,ping接口获取访问时间平均值
jie_0754的博客
03-21 4643
参考博客: ping网络接口:https://blog.csdn.net/li13650639161/article/details/78465850 精确计算BigDecimal:https://www.cnblogs.com/LeoBoy/p/6056394.html 几乎参照大神代码,只是修改了下访问时间取值,我这里取的是平均值,效果展示: 1.AndroidManifes.xm...
服务器响应速度的取值,服务器响应速度测试
weixin_29216957的博客
08-09 524
服务器响应速度测试 内容精选换一换在视频直播中,网络访问流量的突增可能会引起业务的动荡,因此绝大多数的视频直播平台都会使用ELB自动分发流量到多台服务器,如果您担心流量过大,引起业务问题,需要查看弹性负载均衡使用流量,或者针对公网负载均衡,您需要查看某一时间段内弹性负载均衡绑定的EIP流量使用情况,云监控服务可以监控ELB的流量数据。已经正常运行了一段时间的负载均衡器。关删除云服务器组。与原生的删...
浅谈Android手机终端客户端的适配测试
个人博客
03-02 3232
一、Android客户端为什么要进行终端适配测试       在正式开始讨论android客户端的适配测试之前,先提供一些数据给的大家参考一下。 下面是抽取android客户端在2月份的用户使用情况。 【Android不同系统版本下的分布情况】 【客户端在不同手机分辨率下被使用的分布情况】 【客户端在不同机型中被使用的分布情况】 从上面的
app流畅测试--使用SM
weixin_30306905的博客
12-02 678
通过测量应用的帧率FPS并不能准确评价App流畅,FPS较低并不能代表当前App在UI上界面不流畅,而1s内VSync这个Loop运行了多少次更加能说明当前App流畅。 那么我们可以直接在App代码中通过Choreographer的回调FrameCallback来计算Loop被运行了几次,从而知道应用流畅。但在实际情况下我们不一定能修改代码(实际发布...
服务器的响应速度是多少,服务器响应速度测试
weixin_30402231的博客
08-06 990
服务器响应速度测试 内容精选换一换更新指定VPC通道的参数使用传入的后端实例列表对VPC通道进行全量覆盖,若后端实例列表为空,则会全量删除已有的后端实例;使用传入的后端服务器组列表对VPC通道进行全量覆盖,若后端服务器组列表为空,则会全量删除已有的服务器组;您可以在API Explorer中调试该接口。PUT /v2/{project_id}/apic/instances本节定义了VR云渲游平台上...
adb shell dumpsys gfxinfo 返回结果的Profile data in ms表示什么
05-31
`Profile data in ms` 是 `adb shell dumpsys gfxinfo` 命令返回结果中的一个字段,表示每一帧的绘制时间。它是一个以毫秒为单位的时间值,用于衡量应用程序的渲染性能。通常情况下,我们希望每一帧的绘制时间越短越好,因为这意味着应用程序的渲染性能更好,用户的体验也会更加流畅。在分析渲染性能时,我们可以通过检查每一帧的绘制时间来找出应用程序的性能瓶颈所在,并进行优化。
写文章

热门文章

  • VUE延迟的方法(类似sleep),执行一个模块延迟多久在执行下个模块 30765
  • el-upload上传时的file-List的基本用法 28792
  • 常见网络通信制式基本常识 24091
  • JS通过点击/选择表格某一行的获取当前行的数据(结尾有VUE思路) 21979
  • VUE项目npm run serve报了好多个错: ERROR Failed to compile with 123 errors 解决方案 18839

分类专栏

  • 前端开发 66篇
  • Selenium 3篇
  • Appium 2篇
  • docker容器 1篇
  • uiautomator 27篇
  • Monkey/Monkeyrunner 3篇
  • C/C++/C# 3篇
  • Java 47篇
  • python 6篇
  • Linux/shell/adb/.bat/sh/脚本 15篇
  • 测试理论/测试管理/项目管理pmp 7篇
  • 工具 21篇
  • DevOps/jenkins/持续集成 4篇
  • 接口测试/jmeter/postman 8篇
  • 数据库/SQL/MySQL/Oracle 3篇
  • 通信/网络/协议 6篇
  • 安全测试 10篇
  • 单元测试/集成测试 1篇
  • 性能测试/可靠性/压力测试/稳定性 4篇
  • 其他 11篇
  • 面试亲身经验 8篇

最新评论

  • adb填充安卓手机的内存

    cz___: 有没有填充 ram 的命令呀?

  • 【转】Fiddler抓包工具手机添加代理后连不上网解决办法

    2301_77144241: 确实还是没网

  • 按键精灵使用脚本编写测试Android入门与实战

    画中有画: 这是啥语言?看起来怪怪的,有点看不懂,还不如冰狐智能辅助的好学

  • VUE使用el-upload做上传遇到跨域问题

    Miss_Wxm: 请问怎么解决的?小文件没问题大文件不行

  • VUE项目npm run serve报了好多个错: ERROR Failed to compile with 123 errors 解决方案

    鋈犣: npm,他打错字了应该

最新文章

  • 再见CSDN,我的老朋友
  • python GUI界面开发--测试工具
  • IDE的Maven如何添加依赖?
2023年7篇
2022年20篇
2021年81篇
2020年14篇
2019年59篇
2018年21篇
2017年39篇

目录

目录

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

测试狂人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳坪山网站建设公司长清区网站seo优化推广网站优化的好还是营销的好福州给网站优化一站式服务永春网站推广优化网站什么优化长尾词呢济宁网站优化公司教育行业网站优化用什么方法洛阳网站优化费用网站代码优化手写上海湖南网站优化推广网站seo如何优化外链河南瓷砖行业网站优化推广怎么样马尾网站seo优化团队迪庆如何设计网站优化鸡西网站seo优化软件澄江网站优化平台网站html标签如何优化日照山东网站优化哪个好崇明区搜索引擎网站优化定制苏州网站关键词优化软件温县网站优化公司怎样优化网站地址做网站优化陷阱信阳网站搜索优化南通网站关键词优化怎么做辽宁数据网站建设优化价格网站优化岗位内容椒江网站优化莲湖网站关键词优化排名如何提升网站关键词优化排名香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

深圳坪山网站建设公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化