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信号出现时,丢掉的那一帧才会显示出来
1fps检测传送门:https://www.jianshu.com/p/d6d4d4624038
5.电量获取
官网步骤:
https://help.apple.com/instruments/mac/current/#/deva0db8947
网友评论