◆版权声明:本文出自胖喵~的博客,转载必须注明出处。

  转载请注明出处:http://www.cnblogs.com/by-dream/p/5943263.html

 
 
背景

  我们的新版App对首页的列表页实现了“预加载”功能,即在wifi网络的情况下,当滑动到第一页数据的底部的时候,App在后台自动帮你拉取下一分页的内容,这样你在滑动的时候就不会出现下拉的“菊花”了,相对来说用户体验会好很多。然而对于本次的修改,担心新的预加载功能会对性能造成影响,导致页面卡顿,因此我决定对列表页滑动过程中的FPS进行了一个最基本的评测。
 
 
过程

  我们使用的是Xcode(mac版的7.3)自带Instrument中的GPU Driver进行采集,下面我们看看如何使用:
  首先右键Xcode选择 “open developer tool”-“instruments”

  打开之后,我们首先在顶部设备栏需要选择“测试的设备”和设备中安装的要“评测的App”,完成之后,选择 “GPU Driver”:

  这个时候,我们就进入了GPU Driver的操作界面了,左上角的红色就是开始按钮,点击后就开始采集数据。

  这里提一点采集时候遇到的坑:当时在使用一台越狱设备的时候,只要点击红色开始按钮,手机就会重启。这里怀疑是因为越狱的缘故。

  采集的过程中,我们可以看到实时的数据:

  这里我们关注的列是 “core animation Frames per second”,这个值最高是60,约接近60说明越流畅。

  我在评测的过程中,使用iPhone 6s plus的测试结果数据几乎接近60,但是使用iPhone 4的时候就发现了性能瓶颈:

  从下方的图中我们尅看出,在滑动到要预加载的地方,很明显会有一个卡顿的现象,导致帧率突然的降低。这个时候我们就可以将这样的性能问题反馈给开发来解决了。

  当然我们也可以横向的输出一些测试设备,对比优化前后的数据,例如下面这样:

  测试机型及版本:
                Android:
                测试版本:预加载版本(92_android.apk)、未做预加载版本(88_android.apk)
                测试机型:高(Android 6.0 Nexus 5)、中(Android 4.4.4  oppo A31)、低(Android 4.0.4 三星GT-S7562)
                iOS:
                测试版本:预加载版本(3315_sign.ipa)、未做预加载版本(3290_sign.ipa)
                测试机型:高(iOS 9 iPhone6sp)、中(iOS 8 iPhone5s)、低(iOS 7 iPhone4)
    
  测试结果数据:

  这样是不是就更加直观明了了。

  

【iOS测试】【随笔】帧率FPS评测的更多相关文章

  1. Android应用帧率--FPS测试

    Android应用帧率FPS是衡量应用流畅度的一个非常重要的指标,可以根据FPS对应用做一些优化,那么在开发过程中如何来测试我们的应用的FPS呢? 准备工具:Eclipse + Android测试终端 ...

  2. 使用appium进行ios测试,启动inspector时遇到的问题(一)

    最近在公司,让做ios的自动化测试,因为以前做过android的自动化测试,用的也是appium,觉得没什么,结果一开始在搭建环境就遇到了很多的问题,现在将我遇到的问题,以及解决方法,给大家分享出来. ...

  3. 如何利用Pre.im分发iOS测试包

    大众创新万众创业,在移动互联网的风口,移动APP开发与测试发展方兴未艾,受到了越来越多的重视.相较 iOS,Android 的开发环境更加开放.Android 开发者要测试应用时,只需发个 APK 安 ...

  4. 【读书笔记】iOS-软件测试与iOS测试

    一,软件测试的类型. 1.软件测试按照测试类型,可以划分为:单元测试,集成测试和系统测试. 2.单元测试是指对软件系统中最小可测试单元进行的检查和验证. 3.集成测试,在iOS软件开发中,集成测试主要 ...

  5. 帧率(FPS)计算的六种方法总结

    原文地址:http://blog.csdn.net/u012494876/article/details/53368164 帧率(FPS)计算是游戏编程中常见的一个话题.大体来说,总共有如下六种方法: ...

  6. iOS测试中发现一个textview控制,使用clear()无法清除文字

    iOS测试中发现一个textview控制,使用clear()无法清除

  7. iOS 测试在应用发布前后的痛点探索以及解决方案

    作者-芈 峮 前言 iOS 开发从 2010 年开始在国内不断地升温,开发和测试相关的问题不绝于耳.iOS 测试主要涉及哪些内容?又有哪些挑战呢?带着疑问我们开始第一个大问题的讨论. iOS 测试的范 ...

  8. 经典软件测试面试题目:Android 和 ios 测试区别?这样回答:稳!

    Android 和  ios 测试区别? App 测试中 ios 和 Android 有哪些区别呢?1.Android 长按 home 键呼出应用列表和切换应用,然后右滑则终止应用:2.多分辨率测试, ...

  9. 「BUAA OO Unit 1 HW1」面向测试小白的简易评测机

    「BUAA OO Unit 1 HW1」面向测试小白的简易评测机 声明:本评测机所使用数据生成来自郭鸿宇同学,这对本评测机非常重要 目录 「BUAA OO Unit 1 HW1」面向测试小白的简易评测 ...

随机推荐

  1. ORA-27101: shared memory realm does not exist

    Oracle Error Tips by Burleson Consulting Oracle docs note this about ORA-27101: ORA-27101: shared me ...

  2. sql server 日期

    在SQL Server数据库中,SQL Server日期时间格式转换字符串可以改变SQL Server日期和时间的格式,是每个SQL数据库用户都应该掌握的.本文我们主要就介绍一下SQL Server日 ...

  3. Python爬虫Scrapy框架入门(0)

    想学习爬虫,又想了解python语言,有个python高手推荐我看看scrapy. scrapy是一个python爬虫框架,据说很灵活,网上介绍该框架的信息很多,此处不再赘述.专心记录我自己遇到的问题 ...

  4. javaScript的function

    一.函数的声明方式 1.普通的函数声明 function box(num1,num2){ return num1+num2; } 2.使用变量初始化函数 var box=function(num1,n ...

  5. Struts2学习(一)

    struts2 就是 web层开发框架,符合MVC模式 入门程序 创建web工程 导入jar包 下载struts2的jar包  struts-2.3.15.1-all 版本. 注意:在struts2开 ...

  6. <转>[WinForm] VS2010发布、打包安装程序(超全超详细)

    1. 在vs2010 选择“新建项目”→“ 其他项目类型”→“ Visual Studio Installer→“安装项目”: 命名为:Setup1 . 这是在VS2010中将有三个文件夹, 1.“应 ...

  7. 关于EF的一个简单Demo

       今天使用EF的时候很奇怪的问题,添加属性后,使用程序包管理器控制台的NuGet命令更新无效,于是做了这个测试,一次性写好,自动更新,看看效果 1.首先建立一个MVC项目 2.我们选择Intern ...

  8. Epub基础知识介绍

    转载自:http://www.cnblogs.com/linlf03/archive/2011/12/13/2286218.html 一.什么是epub epub是一个完全开放和免费的电子书标准.它可 ...

  9. mysql在linux下修改存储路径

    通过下面几步即可修改路径,这里的路径都是测试的路径,一般默认安装路径在/var/lib/mysql下,真正配置按照真实路径配置. 1.修改/etc/sysconfig/selinux文件:#SELIN ...

  10. 解决SVN Upgrade working copy问题

    解决SVN Upgrade working copy,无法上传到svn上的解决方案是SVN Upgrade working copy老有问题,而且还特别慢.还有种方法,将原来上传到svn的项目中有个. ...