转载:https://blog.csdn.net/redcard0/article/details/89030124
随着游戏越来越重度,游戏耗电太高造成游戏发烫的投诉量已经仅次于帧率,高于针对内存崩溃的投诉。优化的前提是耗电量数据可以度量,本文主要阐述耗电量数据如何获取。在android端现在大多采用假电池的方式,iOS端开启调试后对应的数据会记录在手机本地数据库中,因而导出数据库就可以读取对应的电流和电压数据。
测试准备
(1)先在ios设备上安装Battery Life的证书profile,需要通过ios设备上的safari打开下载链接
https://developer.apple.com/bug-reporting/profiles-and-logs/?platform=ios才能安装。
(2)Battery Life有说明文档可参考(Instructions),在电脑上安装iTunes(同步iPhone)并安装SQL
查询Navicat for SQLite软件。
测试过程
记录测试时间以及手机屏幕显示的电量,开始游戏并持续1小时(例持续疾跑),并记录测试结束
时间以及手机屏幕显示的电量。
注意:测试过程不能将手机置于充电状态(例:USB连接)。因为充电状态下电流记录为+,放电状态下电流记录为-。
数据整理
(1)将设备连接PC端,打开iTunes,点击同步,同步完成会在下面目录下生成“.PLSQL” 文件。C:\Users\[Your_User_Name]\AppData\Roaming\AppleComputer\Logs\CrashReporter\MobileDevice\ [Your_Device_Name]\
(2)打开Navicat for SQLite,点击连接,将同步生成的“.PLSQL” 文件放入数据库文件,再点击确定。
(3)双击表PLBatteryAgent_EventBackward_Battery,时间戳timestamp可通过时间戳转换工具https://unixtime.51240.com/获取相对应测试时间。InstantAmperage是电流(mA),Temperature温度(℃),Voltage电压(mV)。
具体使用操作:
开始测试时间为2018-1-26 20:24:25,对应的时间戳为1516969465.48056。以此获取对应
测试时间数据。
(4)测试获取1小时的平均电流,平均电压,耗电量(J)=电流(A)*电压(V)*时间(s)。
测试结束
为确保下次测试数据获取更便捷,测试结束后选择手机设置—>通用—>设备管理—>点击System Debug Profile—>点击移除描述文件。