iOS性能测试

1、APP启动时间
工具:Time Profiler
这里写图片描述
1.17s:初始化应用程序地址空间和动态链接所需的框架所需时间
62.90ms:从UlAppicationMain()或NSApplicationMain()启动到完成did-finish-launching所需时间

APP启动时间为1.17s+62.90ms,即1.294.592s

2、耗电量
工具:Energy Usage Log
手机上选择开发者——Logging——Energy,选择Start Recording就可以测试了。一段时间以后再stop,再用手机连接到电脑的instrument上,File—import logged data from device即可。
这里写图片描述

电量等级:1/20表示在该手机上使用此APP可用20个小时,20/20表示在该手机上使用此APP可用1小时,等级越大,耗电量越大
注意:比较可惜的是监控数据不支持导出,在这里推荐snip进行滚屏截图,然后再使用文字转化工具转换后使用,转换工具也是个坑,慢慢体会。。

3、帧率
工具:Core Animation
这里写图片描述

一般FPS是60左右,过于低的话需要进行优化,当低于45时,用户一般是可以觉察到卡顿的,当低于20时,卡顿是特别明显

4、内存、CPU
工具:Activity Monitor
我在xcode9.2中监控不到自己APP的CPU,xcode7.3可以
这里写图片描述

### iOS 平台主流性能测试方法和工具 #### 1. 使用 Xcode 自带的 Instruments 工具 Xcode 提供了一个强大的内置工具——Instruments,可以用来检测应用的各种性能指标。通过这个工具,开发人员能够深入分析 CPU 和 GPU 的使用情况、内存泄漏、网络请求效率等问题。它支持多种模板来满足不同类型的性能评估需求[^1]。 ```swift // Swift代码示例:如何集成并调用Instruments中的Time Profiler功能 import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // 开始记录时间配置文件数据 startRecordingTimeProfileData() } private func startRecordingTimeProfileData(){ let command = "instruments -t Time\ Profile.tracetemplate" runShellCommand(command) } private func runShellCommand(_ command:String){ let task = Process() task.launchPath = "/bin/bash" task.arguments = ["-c",command] task.launch() task.waitUntilExit() } } ``` #### 2. 应用第三方库如 `iOS17_perf` 进行高级性能监控 对于特定版本的操作系统(例如iOS17),当现有的主要性能测量解决方案可能无法提供足够的支持时,则可以选择专门针对这些系统的开源项目来进行更详细的性能跟踪。比如 GitHub 上托管的一个名为 `iOS17_perf` 的 Python 脚本就可以很好地完成这项工作,其不仅限于基本的数据采集还提供了丰富的命令行选项以便灵活调整采样频率和其他参数设置[^3]。 #### 3. 利用自动化框架实现持续集成下的性能回归测试 除了手动运行上述提到的应用内测工具外,在CI/CD流水线中加入自动化的UI交互层面上的功能性和非功能性验证同样重要。借助 Appium 或者 XCTest 等驱动程序模拟真实用户的操作行为从而触发待测目标进入不同的状态变化路径进而获取到整个过程期间产生的各项资源消耗统计数据用于后续的趋势对比分析以及瓶颈定位[^4]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值