应用的启动速度是反映手机综合性能的重要指标,对于需要测试手机的性能,尤其是对需要在两台不同的手机之间进行对比测试的同学来讲,了解测试应用开启速度的正确方法,可大幅提高测试工作的效率。

最近,IT之家评测编辑 @芒果羊 同学正被“如何测试安卓应用的启动速度”这个问题困扰,希望这篇教程在帮到 @芒果羊 同学的同时,也能帮到更多的人。

事实上,要知道Android应用的启动速度并不难,我们只需捕获并分析Android系统日志,用这种方法测得的应用启动时间虽然精确,不过对于不经常接触Android系统日志的同学来说,实践起来未免不够简便直观。

那么今天,IT之家就和大家分享,如何简便直观又准确地测得Android应用的启动速度。

开始之前

在开始测试Android应用的启动速度之前,我们需要准备以下材料:

1、 Android系统的手机,系统版本4.4以上,USB开发调试需处于开启状态。

2、 一款Android应用(小编以IT之家Android客户端做演示)。

3、 一台电脑,能安装adb和KMPlayer的那种(小编以Windows 10系统的电脑做演示)。

4、 adb工具包。

下载地址:点击这里

5、 KMPlayer。

下载地址:点击这里

6、Microsoft Office Excel或者其他功能相近的软件。

原理说明

本文所给出的测试Android应用启动速度的方法,原理非常简单,我们只需将Android应用的启动过程使用屏幕内录的方式录制下来,通过可以逐帧播放视频的播放器,找到你点击某应用的图标的那个瞬间所在的帧,记录下该帧的时间(时间甲),再找到应用启动完成那个瞬间所在的帧,记录下该帧的时间(时间乙),用时间乙减去时间甲,所得的时间差,就是该应用启动所耗费的时间了。

录制屏幕

要计算Android应用的启动速度,我们首先需要将Android应用启动的过程录制下来(我们需要带有时间和帧信息的录屏视频),要录制屏幕,我们只需执行几行adb命令。

在执行adb命令之前,请保证你的手机与你的电脑已经可靠地连接,同时,你已经在电脑上安装了正确的adb驱动,准备就绪后,打开文件资源管理器,来到adb工具包所在的目录,按住键盘上的Shift键,再在该目录窗口的空白处单击鼠标右键,在上下文菜单中选择在此处打开命令窗口(或者打开PowerShell,若在PowerShell当中执行adb命令,则需在需要执行的命令前加上./),然后输入并执行以下命令:adb devices

若此时,你能在List of devices attached下看到你刚刚连接到电脑上的设备(小编这里为35c68e3f),则可以继续进行下一步操作。

输入并执行以下命令:adb shell screenrecord --bugreport /sdcard/launch.mp4

该命令被执行后,电脑和手机上不会有任何提示,不要着急,这是正常的,直接在手机上点击你要测试的Android应用的图标即可。

当应用启动完成,我们回到电脑上,使用快捷键Ctrl+C来结束屏幕录制。

这时,你将在手机内置存储(或存储卡)的根目录下看到一个名为launch.mp4的视频文件。

这就是我们刚刚录到的带有时间和帧信息的录屏视频,把这个文件拖出来,扔到你电脑的任何一个文件夹里(小编把它扔到了桌面上)。

MediaInfo显示,小编录到的视频帧率为45.325fps。

播放视频

接下来,我们将逐帧播放这个视频,市面上有很多可以逐帧播放视频的播放器,小编这里选用KMPlayer。

KMPlayer安装完成后,将鼠标光标移至我们刚刚录到的视频文件上,单击右键,选择打开方式-The KMPlayer。

打开视频后,默认并不是逐帧播放,而要逐帧播放十分简单,我们只需将视频暂停,将输入法切换到英文,并按键盘上的F键,每按一次F键,视频则前进一帧,当你前进到Android应用图标被点击的那个瞬间所在的帧,你将会在该图标上看到十分明显的点击回馈(小编的手机,当应用图标被点击时,该图标将缩小,接着,图标所在的宫格将下沉),记录下该帧所在的时间(录屏视频的左上角,白色字体,小编这里是15:29:28.349)。

然后继续播放,直到来到Android应用启动完成的那个瞬间所在的帧,记录下该帧所在的时间(小编这里是15:29:32.660)。

这时,我们得到了两个时间的值,分别是点击应用图标时的时间(15:29:28.349)和应用启动完成时的时间(15:29:32.660)。

计算时间差

我们知道,要测得Android应用启动所耗费的时间,只需算出15:29:32.660-15:29:28.349的结果即可,不过已经习惯了10进制的运算的我们,要进行时间的运算,可能有些吃力。

没关系,我们可以让Microsoft Office Excel来帮助我们计算。

打开Excel,选中A1、B1和C1单元格,点击鼠标右键,选择设置单元格格式。

切换至数字选项卡,在分类中选择自定义,在类型中输入mm:ss.000。

在A1单元格输入应用启动完成时的时间(因为打开一款应用所需的时间通常不会超过一个小时,表示小时的数值我们可以不输入,这里只需输入分钟、秒和毫秒即可,比如15:29:32.660,我们只需输入29:32.660)。

然后,在B1单元格输入点击应用图标时的时间(小编这里输入29:28.349)。

最后在C1单元格输入=A1-B1。

回车,此时,C1单元格中所显示的数值,就是你测得的Android应用的启动所花的时间。

以小编此次的测试结果为例,坚果Pro手机(高通骁龙626版本),打开IT之家客户端,耗时4秒311毫秒。

好的,以上就是本次教程的全部内容,更多常识科普,实用教程,敬请关注IT之家学院。

android 速度检测工具,IT之家学院:如何测试Android应用启动速度相关推荐

  1. android代码检测工具,大家好 给大家介绍一下 Android静态代码检测工具FireLine

    FireLine介绍 随着时间的推移,项目的代码量越来越大,而紧张的项目开发周期使得开发人员进行单元测试的时间少之又少.我仔细看了下最近几轮测试中测试人员提的缺陷单,大部分的bug其实归根到底都是由空 ...

  2. android安全检测工具,梆梆安全 - 防止反编译|APP安全加固|应用加固|盗版监测

    android安全检测工具,梆梆安全 - 防止反编译|APP安全加固|应用加固|盗版监测 https://dev.bangcle.com/ 业内专业的应用加固服务供应商 帮助数十万APP抵御破解风险, ...

  3. Android内存检测工具系列工具集

    Android内存检测工具系列工具集 Android关于内存的工具不少,灵活地选择工具就显得特别重要.在此特别推荐分享涵盖一定初步和定位能力的工具,可以让我们一步到位地分析问题,提升效率. 在此列举几 ...

  4. android oom 检测工具,Android中UI检测、内存泄露、OOM、等优化处理

    对Android整个优化分析,非常棒,下面是自己的积累笔记.可直接看原文. 界面检测工具: Fps: GPU检测, 使用Lint进行资源及冗余UI布局等优化 (很强大,布局的冗余) Memory检测G ...

  5. android 阻止自动唤醒,IT之家学院:如何免ROOT阻止Android应用唤醒

    原标题:IT之家学院:如何免ROOT阻止Android应用唤醒 感谢IT之家网友 零更新 的原创投稿 此前有IT之家网友介绍了用空调狗弄死"良心"软件的教程,不过有时候也是不太方便 ...

  6. 移动安全之Android安全检测工具大全

    原文地址:https://github.com/tanprathan/MobileApp-Pentest-Cheatsheet 补充[1]http://www.black-eleven.com/?p= ...

  7. 电脑如何测网速_【网络调试】网络速度检测工具有哪些?这五款工具让你随时掌控网速...

    wifi测试软件有哪些?WiFi信号和声音一样,强弱都是可以测量的,检测WiFi的方法有很多,作为普通的家庭用户,我们有时需要测试WiFi的速度.信号强度.周围WiFi干扰等等,那么wifi信号如何检 ...

  8. Android 性能指标检测工具

    2019独角兽企业重金招聘Python工程师标准>>> Android常见问题 内存泄漏:不使用的内存空间(对象)一直被引用着没有得到释放. 内存抖动:短时间内大量创建对象又在短时间 ...

  9. Android 内存检测工具

    所谓内存泄漏,是指本该被回收的内存由于某种原因绕开了GC回收算法,从而导致该内存无法被有效数据使用而使得总内存减小的情况. 内存泄漏会导致内存消耗的增加,大量的消耗会使得APP OOM,特别是在一些内 ...

最新文章

  1. window 远程访问本地centos/redhat虚拟机上jupter notebook 配置方法
  2. Python-form表单标签
  3. 241. Different Ways to Add Parentheses
  4. Go36-13-结构体及其方法
  5. python车牌识别系统开源代码_北京百万庄车牌识别的软件人气火爆
  6. 特斯拉,谁给你的勇气在中国玩双标
  7. 蜗牛学院:程序员最值得看的12部电影
  8. Android实战开发--制作圆形头像(简易篇)
  9. Codeforces Contest 1138 problem B Circus —— 死亡1700,暴力
  10. Sublime Text3插件安装(经典)
  11. EasyPusher安卓Android手机直播推送之MediaCodec 硬编码H264格式
  12. Python合并PDF
  13. python合并pdf_实用 | 手把手教你用Python分割与合并PDF
  14. 级联选择器el-cascader处理复杂数据(四层、五层数据),回显部门以及部门下的人员
  15. Adam学习25之读取sam生成的alignmentRecord含recordGroupDictionary
  16. Ubuntu18.04更改国内镜像源(阿里云、网易、清华、中科大)
  17. antd Table设置固定高度
  18. html5魔塔存档模块,魔塔世界完整版源码
  19. Excel 代码编写 统一去掉单元格左上角的三角符号
  20. 关于office2016与visio2016冲突问题的解决方案

热门文章

  1. Linux 牛书推荐:《Linux网络编程》
  2. 理解ASP.NET中的三层结构
  3. 企业管理软件随想-透视-包容,无形思想-有形方便
  4. Win32的虚拟内存分配函数
  5. 精通webpack的5大关键点
  6. 划重点:微信小程序1月9日正式上线
  7. cass怎么把块打散命令_分解cass高程点即属性块
  8. githup用户名密码怎么看_MacBook Pro 开机密码忘记解决方法
  9. 监督学习 | 线性回归 之多元线性回归原理及Sklearn实现
  10. Windows10/11安装Linux子系统Ubuntu 20.04LTS,轻松使用生信软件,效率秒杀虚拟机