iPhone:快速更新(60Hz)的加速计会耗尽电池电量吗?

iPhone:快速更新(60Hz)的加速计会耗尽电池电量吗?,iphone,objective-c,accelerometer,Iphone,Objective C,Accelerometer,我正在使用cocos2d制作一个基于加速度计的应用程序,我注意到可以设置加速度计更新间隔 [[UIAccelerometer sharedAccelerometer] setUpdateInterval: (1.0f / 60.0f)]; 经常这样(每秒60次)更新加速计是否会导致电池大量耗电? 我的答案是肯定的。它确实消耗电池更快。根据加速计数据表,它以100Hz的更新率消耗约0.75兆瓦的功率,在待机模式下(即,没有读数发生)消耗0.0025兆瓦的功率 所以,简短的回答是“是的”,但在我的

我正在使用cocos2d制作一个基于加速度计的应用程序,我注意到可以设置加速度计更新间隔

[[UIAccelerometer sharedAccelerometer] setUpdateInterval: (1.0f / 60.0f)];
经常这样(每秒60次)更新加速计是否会导致电池大量耗电?

我的答案是肯定的。它确实消耗电池更快。根据加速计数据表,它以100Hz的更新率消耗约0.75兆瓦的功率,在待机模式下(即,没有读数发生)消耗0.0025兆瓦的功率

所以,简短的回答是“是的”,但在我的脑海里,我无法用这些数字来给你一个概念,比如说,“它从电池中消耗了多少分钟的时间”

我的建议是做一些测试。查找可提供满意结果的最低更新率。

从:

配置更新间隔时 对于加速赛,最好 选择一个使时间间隔最小化的时间间隔 已传递的事件数和仍然存在的事件数 满足应用程序的需要。 很少有应用程序需要加速 事件每秒发送100次。 使用较低的频率可以防止 应用程序不能经常运行并且 因此可以提高电池寿命

根据这一点,更新频率高的代价可能是应用程序必须处理每个加速度计事件,而不是长时间闲置

此外,从:

如果您使用UIAccelerator类 接收常规加速计 事件,禁用这些事件的传递 不需要时的事件。 同样,设置事件的频率 交付到最小的价值,即 适合您的需要


根据可接受答案中的数字,实际加速计的用电量微不足道。你真正的成功将来自你的应用程序必须处理事件,从而使CPU不会更频繁地睡眠

3GS有一个4.51瓦时的电池。当以100 hz的频率运行时,仅从加速计进行放电将在(大约)6000小时内(假设0.75 mW的值是正确的)杀死电池


(另外,iPhone4有5.25瓦时的电池,4s5.3whr和5.45whr,以防你好奇)

啊,谢谢。:)你知道当你不点击-setUpdateInterval:method时,它通常每秒更新多少次吗?我只是在做一个快速的谷歌搜索,给你一个快速的答案。然而,我不知道默认的更新率。我建议您将其更新为与您的帧速率相同的速率。因为我认为在获得新的加速计数据的同时更新屏幕是明智的。有关如何“禁用这些事件的传递”的更多信息,请参阅上面链接的事件处理指南:要停止传递加速事件,请将共享UIAccelerator对象的委托设置为nil。将代理对象设置为nil可让系统知道它可以根据需要关闭加速计硬件,从而节省电池寿命。”