从gPhone获取传感器数据时的延迟?

时间:2010-03-09 12:15:05

标签: android

我正在开发一个使用HTC魔术的项目,需要来自电子罗盘的数据,包括加速度计和磁传感器。但我发现手机的移动与sensorChanged事件的触发之间存在明显的延迟。换句话说,从传感器获得的加速度和磁力数据在我的运动后大约半秒更新。关于这个问题我有几个问题如下。

  1. 加速度和磁力数据计算的方向数据是?或者是否有物理传感器用于定位?

  2. 延迟是否来自android API(使用事件)或电子罗盘的物理限制?

  3. 据说电子罗盘的型号是Asahi Kasei的AK8976A。有人有数据表或知道抽样的频率吗?

  4. 有什么想法可以改善实时体验吗?

  5. 提前谢谢!

2 个答案:

答案 0 :(得分:0)

当您注册SensorEventListener时,您使用的是什么速率?您应该使用SENSOR_DELAY_GAME在频繁更新之间取得最佳平衡,而不是过度更新更新队列,如果SENSOR_DELAY_FASTEST,实际上会导致更新速度变慢。

关于你的其他问题,我认为他们没有实际意义。您看到的更新延迟是由API引起的,还是实际的罗盘本身,您无法更改它。

答案 1 :(得分:0)

我确实想到了这一点。事实证明,在2.2中您不能使用标准SENSOR_DELAY_UI,SENSOR_DELAY_NORMAL等以外的传感器速率。文档声称您还可以指定通知之间的微秒数,但它们是在说谎。

一旦我使用标准常量,它就开始使用2.2