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

  转载请注明出处: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. C#读取XML文件并取值

    1.新建XML文件: <?xml version="1.0" encoding="utf-8" ?> <SystemInfo> < ...

  2. 简单Java算法程序实现!斐波那契数列函数~

    java编程基础--斐波那契数列 问题描述:一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 思路:可能出现的情况:(1) n=1 ,一种方法 ;(2)n=2 ...

  3. CozyRSS开发记录7-了解RSS

    CozyRSS开发记录7-了解RSS 1.初窥RSS 多找几个RSS源就会发现,有的源是用Atom协议提供的,有的源是RSS协议提供的.RSS协议有过几个版本,0.9.1.0和2.0等,理论上支持2. ...

  4. 作弊Q-百威

    ===_=374793763===_= 2652880032 865580818 大康 2652880032 春牛 3479301404  皮卡丘 3242026908  舍得放手

  5. 冰球项目日志2-yjw

    我们小组在12.31号进行了讨论,确定了基本的任务及分工,后面是元旦放假,大家没有做很多的东西,我也是把自己分工的部分方案想了下. 后面在1.3号,我们会再进行一次小组讨论,确定下最终的方案,然后进行 ...

  6. Leetcode Anagrams

    Given an array of strings, return all groups of strings that are anagrams. Note: All inputs will be ...

  7. 最新版 CocoaPods 的安装流程

                                       iOS 最新版 CocoaPods 的安装流程     1.移除现有Ruby默认源 $gem sources --remove h ...

  8. osgAnimation例子的注释的注释

    osgAnimation例子的注释的注释 转自:http://www.cnblogs.com/sunliming/archive/2011/12/12/2284995.html #include &l ...

  9. iOS开发中常见问题集锦

    在iOS开发中,会出现各种各样的问题.今天,就把这些常见的问题以及各位大牛的解决方案汇总下,方便以后查阅: 常见错误: 1. linker command failed with exit code ...

  10. mysql timeout connection

    由于使用阿里云服务器,使用mysql 每当周一的时候客户端首次连,总是报timeout connection 的错误 ,尝试了几个方法没有实际效果. 1.用网上说的URl上缀上autoReconnec ...