iOS 常见耗电量检测方案调研

栏目: IOS · 发布时间: 7年前

内容简介:本文对应 Demo 以及 Markdown 文件在前言如果我们想看下我们的 APP 或 SDK 是否耗电,需要给一些数据来展示,所以就对常见的电量测试方案做了一下调研。

本文对应 Demo 以及 Markdown 文件在 GitHub 仓库中 ,文中的错误可以提 PR 到这个文件,我会及时更改。

前言

如果我们想看下我们的 APP 或 SDK 是否耗电,需要给一些数据来展示,所以就对常见的电量测试方案做了一下调研。

影响 iOS 电量的因素,几个典型的耗电场景如下:

  1. 定位,尤其是调用GPS定位

  2. 网络传输,尤其是非Wifi环境

  3. cpu频率

  4. 内存调度频度

  5. 后台运行

系统接口

iOS 10 系统内置的 Setting 里可以查看各个 App 的电池消耗。

iOS 常见耗电量检测方案调研

系统接口,能获取到整体的电池利用率,以及充电状态。代码演示如下:

//#import 
 
   
UIDevice *device = [UIDevice currentDevice];
device.batteryMonitoringEnabled = YES;
//UIDevice返回的batteryLevel的范围在0到1之间。
NSUInteger batteryLevel = device.batteryLevel * 100;
//获取充电状态
UIDeviceBatteryState state = device.batteryState;
if (state == UIDeviceBatteryStateCharging || state == UIDeviceBatteryStateFull) {
//正在充电和电池已满
}

这些均不符合我们的检测需求,不能检测固定某一时间段内的电池精准消耗。

测试平台

阿里云移动测试 MQC

MQC 调研,结论:没有iOS性能测试,无法提供耗电量指标。

iOS 常见耗电量检测方案调研

百度移动云测试中心 MTC 同样没有 iOS 的性能测试。

其他测试平台类似。

常用的电量测试方法:

  1. 硬件测试

  2. 软件 工具 检测

软件工具检测

下面介绍通过软件 Instrument 来进行耗电检测。

iOS电量测试方法

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

iOS 常见耗电量检测方案调研

2.进行需要测试电量的场景操作后进入开发者选项点击stop recording

3.将iOS设备和Mac连接

4.打开Instrument,选择Energy Diagnostics

5.选择 File > Import Logged Data from Device

iOS 常见耗电量检测方案调研

6.保存的数据以时间轴输出到Instrument面板

iOS 常见耗电量检测方案调研

其他

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

  • 电量使用level为0-20,1/20:表示运行该app,电池生命会有20个小时;20/20:表示运行该app,电池电量仅有1小时的生命

  • 数据不能导出计算,只能手动计算平均值

硬件检测

通过硬件 PowerMonitor 可以精准地获得应用的电量消耗。

步骤如下:

  1. 拆开iOS设备的外壳,找到电池后面的电源针脚。

  2. 连接电源监控器的设备针脚

  3. 运行应用

  4. 测量电量消耗

下图展示了与iPhone的电池针脚连接的电源监控器工具。

iOS 常见耗电量检测方案调研

可以参考: Using Monsoon Power Monitor with iPhone 5s。

  • 可以精准地获得应用的电量消耗。

  • 设备价格 $771.00 USD

  • 需要拆解手机

这样看来,只有 Instrument 的方案更适合,大家有什么方案的话,也可以贴在下面。

作者:iOS程序犭袁
链接:https://www.jianshu.com/p/851b0acde9c3


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

数据结构与算法

数据结构与算法

卓滋德克 / 陈曙晖 / 清华大学出版社 / 2003-4-1 / 69.00

本书是一本介绍数据结构与算法的优秀书籍。 本书系统介绍了C++面向对象程序设计、算法复杂度、链表、栈、队列、递归、树、图、排序和查找算法、散列技术、数据压缩算法、内存管理等内容;尤其对递归算法进行了深入剖析。在附录中详细介绍了大O符号与标准模板库:在大多数章中提供了相应的实例分析和程序设计作业。 本书适合作为计算机软件专业或其他相关专业的教科书。对于需要参加计算机考试,......一起来看看 《数据结构与算法》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码