【iOS测试】【随笔】帧率FPS评测
◆版权声明:本文出自胖喵~的博客,转载必须注明出处。
我们的新版App对首页的列表页实现了“预加载”功能,即在wifi网络的情况下,当滑动到第一页数据的底部的时候,App在后台自动帮你拉取下一分页的内容,这样你在滑动的时候就不会出现下拉的“菊花”了,相对来说用户体验会好很多。然而对于本次的修改,担心新的预加载功能会对性能造成影响,导致页面卡顿,因此我决定对列表页滑动过程中的FPS进行了一个最基本的评测。
我们使用的是Xcode(mac版的7.3)自带Instrument中的GPU Driver进行采集,下面我们看看如何使用:

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

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

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

这里我们关注的列是 “core animation Frames per second”,这个值最高是60,约接近60说明越流畅。
我在评测的过程中,使用iPhone 6s plus的测试结果数据几乎接近60,但是使用iPhone 4的时候就发现了性能瓶颈:


从下方的图中我们尅看出,在滑动到要预加载的地方,很明显会有一个卡顿的现象,导致帧率突然的降低。这个时候我们就可以将这样的性能问题反馈给开发来解决了。
当然我们也可以横向的输出一些测试设备,对比优化前后的数据,例如下面这样:


这样是不是就更加直观明了了。
【iOS测试】【随笔】帧率FPS评测的更多相关文章
- Android应用帧率--FPS测试
Android应用帧率FPS是衡量应用流畅度的一个非常重要的指标,可以根据FPS对应用做一些优化,那么在开发过程中如何来测试我们的应用的FPS呢? 准备工具:Eclipse + Android测试终端 ...
- 使用appium进行ios测试,启动inspector时遇到的问题(一)
最近在公司,让做ios的自动化测试,因为以前做过android的自动化测试,用的也是appium,觉得没什么,结果一开始在搭建环境就遇到了很多的问题,现在将我遇到的问题,以及解决方法,给大家分享出来. ...
- 如何利用Pre.im分发iOS测试包
大众创新万众创业,在移动互联网的风口,移动APP开发与测试发展方兴未艾,受到了越来越多的重视.相较 iOS,Android 的开发环境更加开放.Android 开发者要测试应用时,只需发个 APK 安 ...
- 【读书笔记】iOS-软件测试与iOS测试
一,软件测试的类型. 1.软件测试按照测试类型,可以划分为:单元测试,集成测试和系统测试. 2.单元测试是指对软件系统中最小可测试单元进行的检查和验证. 3.集成测试,在iOS软件开发中,集成测试主要 ...
- 帧率(FPS)计算的六种方法总结
原文地址:http://blog.csdn.net/u012494876/article/details/53368164 帧率(FPS)计算是游戏编程中常见的一个话题.大体来说,总共有如下六种方法: ...
- iOS测试中发现一个textview控制,使用clear()无法清除文字
iOS测试中发现一个textview控制,使用clear()无法清除
- iOS 测试在应用发布前后的痛点探索以及解决方案
作者-芈 峮 前言 iOS 开发从 2010 年开始在国内不断地升温,开发和测试相关的问题不绝于耳.iOS 测试主要涉及哪些内容?又有哪些挑战呢?带着疑问我们开始第一个大问题的讨论. iOS 测试的范 ...
- 经典软件测试面试题目:Android 和 ios 测试区别?这样回答:稳!
Android 和 ios 测试区别? App 测试中 ios 和 Android 有哪些区别呢?1.Android 长按 home 键呼出应用列表和切换应用,然后右滑则终止应用:2.多分辨率测试, ...
- 「BUAA OO Unit 1 HW1」面向测试小白的简易评测机
「BUAA OO Unit 1 HW1」面向测试小白的简易评测机 声明:本评测机所使用数据生成来自郭鸿宇同学,这对本评测机非常重要 目录 「BUAA OO Unit 1 HW1」面向测试小白的简易评测 ...
随机推荐
- JavaScript高级程序设计学习笔记--DOM
DOM(文档对象模型)是针对HTML和XML文档的一个API(应用程序接口). Document类型 文档的子节点 虽然DOM标准规定Document节点的子节点可以是DocumentType,Ele ...
- .NET LINQ查询操作中的类型关系
LINQ 查询操作中的类型关系 若要有效编写查询,您应该了解完整的查询操作中的变量类型是如何全部彼此关联的. 如果您了解这些关系,就能够更容易地理解文档中的 LINQ 示例和代码示例. 另外 ...
- .NET LINQ 聚合操作
聚合操作 聚合运算从值集合计算单个值. 从一个月的日温度值计算日平均温度就是聚合运算的一个示例. 方法 方法名 说明 C# 查询表达式语法 Visual Basic 查询表达式语法 更多信息 ...
- 如何利用 JConsole观察分析Java程序的运行,进行排错调优
原文链接:http://jiajun.iteye.com/blog/810150 一.JConsole是什么 从Java 5开始 引入了 JConsole.JConsole 是一个内置 Java 性能 ...
- HDU 3015 Disharmony Trees(树状数组)
题意:给你n棵树,每棵树上有两个权值X H 对于X离散化 :3 7 1 5 3 6 -> 2 6 1 4 2 5,对于H一样 然后F = abs(X1-X2) S=min(H1,H2) 求出 ...
- VMware桥接模式无法自动化获取IP的解决方法
虚拟机桥接无法自动获取IP的解决方法 在虚拟机VM里面装了centos系统,网卡选用桥接方式. 刚开始的时候还能自动获取到IP地址,突然有一天IP消失了,再怎么重启都无法获取IP地址.因为之前是可以获 ...
- devexpress 安装及破解
安装dx DXperience-10.1.4 破解文件下载
- Leetcode Search for a Range
Given a sorted array of integers, find the starting and ending position of a given target value. You ...
- 对Ajax连接的认识~为毛不能上传文件!!!
最近做毕设的时候需要用到上传图片的功能,但是我的毕设全部的传输都是基于ajax的请求,百度了一圈发现TMD居然说ajax不能上传文件!!当时我就不乐意了啊,那难道其他人都用的是黑科技吗?!又来网上的大 ...
- 利用JS实现自定义滚动条
一般默认的滚动条会比较丑,我们可以用简单的js实现自定义滚动条的功能: 代码如下: <!doctype html> <html> <head> <meta c ...