iOS性能测试指标

1.启动时间

App的启动分为冷启动和热启动。如果启动时间过长,首先引起的用户体验直线下降,再者是可能会激发苹果的watch dog机制kill掉App。APP的启动时长检测传送门:https://www.jianshu.com/p/12b4803a2581

2. CPU占用率

CPU做为手机中央处理器,可以说是手机最关键的组成部分,所有的应用程序都需要它来调度运行,资源有限。所以如果App的设计不当,会使CPU持续高负载进行,将会出现App卡顿,手机发烫,电量消耗过快的影响用户体验的现象。

如何获取CPU占有率呢?---》 https://www.jianshu.com/p/36dc78198a08

3. 内存

虽然现在手机内存越来越大,但毕竟是资源有限的。如果因为系统设计造成内存过高,可能面临被系统kill掉的风险,对用户来说就是crash,体验极其差。

首先需要了解下iOS内存管理机制

1. 为什么要内存管理?

OC对象在内存中以堆的方式分配空间,堆内存是由我们自己释放。就是release,非OC对象一般是在栈中,系统自动回收

2. 什么情况下内存会增加?

定义变量,创建对象,调用函数或者方法

3. OC如何进行内存管理?(原理就是引用计数)

   I.  iOS5之前使用MRC(手动引用计数),需要手动调用retain,release,autorelease

   II. ARC(自动引用计数),内存管理由系统接管(本质上也是调用retain,release,autorelease)

原则是 遵循谁创建,谁管理,谁引用,谁释放

内存获取请参考:https://www.jianshu.com/p/2b8e80a1ae37

4.FPS

fps:Frames Per Second 

屏幕渲染过程是有信号发送的,一帧一帧的。

FPS每秒显示60帧,帧数越高越流畅,每隔16ms就会有一次VSync信号

那为何会出现卡顿?

首先看下屏幕内容显示过程

1. CPU完成计算之后,GPU渲染,收到垂直同步信号,将渲染的内容显示到屏幕

2. 若CPU计算正常或较慢,GPU渲染时间较长,这时来了垂直同步信号,这一帧还没有渲染完,就会出现掉帧情况,当下一个VSync信号出现时,丢掉的那一帧才会显示出来

1

fps检测传送门:https://www.jianshu.com/p/d6d4d4624038

5.电量获取

官网步骤:

https://help.apple.com/instruments/mac/current/#/deva0db8947

https://www.jianshu.com/p/91e5f0a0894b

https://developer.apple.com/library/archive/documentation/Performance/Conceptual/EnergyGuide-iOS/MonitorEnergyWithInstruments.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.为什么要把控件尽量设置成不透明的,如果是透明的会有什么影响,如何检测这种影响? 1、自动内存泄漏检测工具 ML...
    如意神王阅读 996评论 0 0
  • 本文介绍App启动性能优化,共分五个部分: 第一部分App启动过程 第二部分pre-main阶段的过程和可优化项 ...
    小飞鱼_love阅读 17,084评论 1 69
  • 深入理解iOS App的启动过程 前言 启动时间是衡量应用品质的重要指标。 本文首先会从原理上出发,讲解iOS系统...
    大维ios阅读 999评论 0 5
  • 应用启动流程 iOS应用的启动可分为pre-main阶段和main()阶段,其中系统做的事情依次是: 1. pre...
    朽木自雕也阅读 641评论 0 3
  • 二八定律可以说是适合任何行业的一个准则,不但金融行业,其它行业也是一样。 干一件事最多有20%的人是最终干成的,另...
    交易与感悟阅读 3,349评论 1 2

友情链接更多精彩内容