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