2010-03-09 33 views
1

我正在使用HTC魔术工作,该魔术需要电子罗盘的数据,包括加速计和磁性传感器。但是我发现手机的移动和sensorChanged事件的触发之间存在显着的延迟。换句话说,从传感器获得的加速度和磁场数据在我的运动后约半秒钟更新。以下是关于这个问题的几个问题。从gPhone获取传感器数据时是否存在延迟?

  1. 定向数据是由加速度和磁场数据计算出来的吗?还是有一个物理传感器的方向?

  2. 延迟是由android API(使用事件)还是电子罗盘的物理限制造成的?

  3. 据说电子罗盘的型号是来自旭化成的AK8976A。有没有人有数据表或知道抽样的频率?

  4. 任何想法来改善实时体验?

预先感谢您!

回答

0

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

至于你的其他问题,我认为他们是没有意义的。无论您看到的更新延迟是由于API,还是实际的指南针本身,都无法更改。

+0

非常感谢!我现在使用SENSOR_DELAY_GAME。看起来好多了!顺便说一下,SensorEventListener的速率的默认值是多少? SENSOR_DELAY_FASTEST? SENSOR_DELAY_GAME? SENSOR_DELAY_NORMAL? SENSOR_DELAY_UI? :P – cat 2010-03-10 05:36:45

+1

我不知道,但如果我不得不冒险猜测我会说SENSOR_DELAY_NORMAL,因为它被称为正常。 – CaseyB 2010-03-10 05:43:44

0

我弄明白了。结果发现,在2.2中,除了标准的SENSOR_DELAY_UI,SENSOR_DELAY_NORMAL等之外,您不能使用传感器速率。文档声称您还可以指定通知之间的微秒数,但它们在撒谎。

一旦我使用标准常量开始工作2.2

相关问题