2010-03-09 31 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

相關問題