我目前的项目是一个持续存在的应用程序(想想Tinder或Foursquare),电池消耗是通过屋顶.我们认为主要的功耗是GPS和WiFi天线.我们希望能够在几种不同的配置下测量我们的应用程序的能源使用情况.
但是怎么做呢?我们想要一个过程:
我知道这个清单.
这些是要求,以下是我所知道的选项:
1.打开iOS设备上不受限制的能量诊断记录,并导出到仪器
这是明显的答案,但它有一个巨大的缺陷.
优点:
缺点:
2.通过仪器监控插入的电话
优点:
缺点:
3.使用公共Cocoa API在我们的应用程序中记录能源使用情况 - [UIDevice.currentDevice batteryLevel]
这是SO上最常见的答案.我看过iOS,iphone 上的预计电池续航时间:计算电池续航时间和其他十几个电池续航时间.
优点:
缺点:
4.使用私有Cocoa API记录能源使用情况
由于我们在开发期间只会这样做,因此Apple拒绝使用私有API的应用程序并不重要.据推测,有一些私有API,因为Apple能够在Untethered Energy Diagnostics打开的情况下记录数据.
优点:
缺点:
5.综合方法
我们可以使用不受限制的诊断来量化每个动作的边际能量成本."好吧,旋转GPS天线需要150mW•H.计算位置需要50mW•H.发送Mixpanel事件需要25mW•H,除非我们在之前的30秒内进行了另一次网络呼叫,在这种情况下需要15mW•H." (当场发明的所有数字.)然后我们可以使用系留监测来记录每个动作何时发生,插入线性方程,并估计它应该采取的能量.
优点:
缺点:
无论如何,我已经足够了.有没有人这样做过?怎么样?