ios 获取电量百分比_实战之 IOS 电量获取对比

本文对比了三种在iOS上获取电量消耗的方法:Instruments、Perfdog和sysdiagnose。介绍了各自的使用步骤、优缺点以及适用场景。Perfdog因其易于使用、数据详细且可保存而被推荐用于电量测试。
摘要由CSDN通过智能技术生成

背景交代

最近有一款游戏要上线,性能检测虽然在安卓上已经检测通过,但ios上还是第一次检测,尤其是近年来移动端用户越来越重视手机的续航能力,所以我们对游戏的电量消耗等指标的关注程度也越来越重视;

然而ios性能检测的相关文档相对安卓来说还是少很多,以前我们常用的就是Instruments,最近perfdog也出了iOS电量测试功能,特来对比一下。

这里首先给出ios手机wifi连接Imac的方法

1.打开Xcode,选择菜单栏中 Window ——>Devices and Simulators 弹出相应的对话框

2.将Connect via network复选框选中

3.将数据线从苹果电脑上拔掉,此时真机回显示为 DisConnected,点击手机 弹出一个快捷菜单

4.选中其中的Connect Via IP Address 命令,弹出对话框,输入手机的IP地址然后单击Connect按钮 此时真机就通过无线就连接到苹果电脑了,

1.Instruments获取ios能耗

首先我们要打开ios的开发者选项,简单来说你需要登录Xcode,把IOS手机连接电脑,这样就可以打开开发者,接下来:

1.iOS 设置选项 ->开发者选项->logging ->start recording

2.打开需要测试电量的游戏场景操作后开始跑游戏

3.进入开发者选项点击stop recording

4.将iOS设备和Mac连接

5.打开Instrument,选择Energy Diagnostics

6.选择 File > Import Logged Data from Device

此时可能会有一些卡顿,稍等后会出现结果

要注意的是:

测试过程中要断开 iOS设备和电脑、电源的连接

电量使用level为0-20,1/20:表示运行该app,电池生命会有20个小时;20/20:表示运行该app,电池电量仅有1小时的生命,这里表示电量消耗有点大啊,我测试的时候手机有75%的电量,玩游戏也就是说大概20/17=1.17小时就会没电了;

下面还有屏幕亮度,CPU,网络使用,GPS,蓝牙等等电量消耗

不过此处的数据无法保存,而且由于无法标注场景,所以在测试时要尽量保证场景单一;

为了分析详细数据,找到问题,笔者开始采用其他常见方法测试游戏电量;

2.Perfdog获取ios能耗

1.打开perfdog,选择要连接的IOS手机,注意选择wifi模式。

2.选择要捕获的数据,wifi模式不能截图比较可惜

3.选择要测试的应用就可以了;

这里介绍一些常用的技巧,由于不能截图,我们最好对场景做一些批注,

1)批注及标定(鼠标左键双击,则批注。左键双击已生成的批注,则取消。鼠标左键单击,则标定)

2)可以通过鼠标框选/拖动查询时间周期内,统计数据等。同时可对框选数据进行保存。右边可以设定对应的性能参数统计分析阈值等。

3)通过标签按钮给性能数据打标签,鼠标左键双击颜色区域可修改对应区域标签名

具体技巧可以参考:Perfdog使用说明

当我们测试完毕上传后台的时候记得勾选Save就可以在本地保存所捕获的所有数据,点击文件夹既就可以看到,数据就保存在包名所命名的文件夹里.

这是平台的电量数据信息,

整机实时Current电流:单位毫安(mA)、Voltage电压:单位毫瓦(mW)、Power功耗:单位毫伏(mV)

这里可以多场景组合分析,可以看到在资源下载的时候功耗明显上升,在资源结束的时候仍在上升,这里怀疑在解压资源,通过cpu也可以完全证实这一点;而在游戏开始,副本战斗的时候功耗开始下降。如果想要优化,可以从资源处理的方面入手。

3.sysdiagnose获取ios能耗

1.官网下载证书Profiles and Logs。(需要开发者证书)

2.下载完成后通过 AirDrop 发到测试手机上安装。

3.在不重启手机的情况下,等待10到30分钟。

4.手机连上电脑,通过 iTunes 同步到电脑上。

5.去 ~/Library/Logs/CrashReporter/MobileDevice 目录下,打开 powerlog_xxxx.PLSQL 文件。

简单介绍下表名的意思

PLBatteryAgent_EventBackward_Battery: 整台机器的电量数据,包含电流、电压、温度等,每 20 秒 左右一条数据

PLBatteryAgent_EventBackward_BatteryUI: 电量百分比数据,每 20 秒一条数据

PLIOReportAgent_EventBackward_EneryModel: 整机的详细电量数据。包含 CPUGPUDRAMISP 等关键信息。每半小时到一小时一条数据。

6.接来下需要 知道你要测试的App 的 Bundle Identifier ,可以通过pp助手或者其他应用获取,有很多方法;

7.得到每个 App 的唯一标识后,我们就可以去 PLAccountingOperator_Aggregate_RootNodeEnergy biao 表里看电量消耗数据了,这里的单位在 iOS 9 是 mAh ,iOS 9 及以上应该是 1/1000 mAh,也就可以执行 SQL 语句计算出来,不过一番操作下来比较复杂,费时费力;

4.Energy Impact获取ios能耗

在开发过程中,运行调试模式就可以在Xcode里直接查看Energy Impact。有3个区域,红色代表有严重问题。下面的柱状图会告诉你耗电的组成部分:CPU,Network,Location,GPU。其中Overhead表示不是由你的App引起的耗电。

如果有问题,可以进一步通过快捷入口打开Time Profile,Network Profile,Location Profile做进一步细致排查问题点。

这个没什么复杂的,自己研究下就可以。缺点只适合开发人员;而且对于耗电只能给出定性,没有定量的显示。

名字

上手难度

优点

可优化功能

推荐指数

Perfdog

简单

测试报告数据清晰,可以查看当时的cpu等其他维度数据,可添加批注,所以可以多个场景同时测试,数据可以保存到本地,电量指标较为详细

wifi连接无法截图比较可惜,人工添加批注有时容易不及时

✰✰✰✰✰

Instruments

简单

数据清晰,操作简单,可以查看当时的cpu等其他维度数据

无测试报告,无法添加批注,为保证数据准确性尽量保证单一场景,详细数据无法保存

✰✰✰✰

sysdiagnose

复杂

捕获的数据丰富

需要开发者证书,操作较为复杂,无测试趋势图,仅有数值

✰✰✰

Energy Impact

简单

上手简单,开发时运行调试模式就可以

需要有项目源码权限,而且对于耗电只能给出定性,没有定量的显示

✰✰✰

综合以上数据来看,还是推荐使用Perfdog进行测试,无论是从用户的交互方式还是从数据指标的丰富程度,Perfdog都达到了较高的水准,至于参考标准可以从精品产品获取数据作为对比参考;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值