2012-01-30 29 views
2

我目前正在開發一款應用程序,該應用程序利用光線感應器在我的服務中執行任務。我使用的例子,從這個網站作爲我的基地:當我的平板電腦插在電腦上調試Android:慢光傳感器(僅當拔下插頭時)

Android Light Sensor

傳感器正常工作。但是,如果我運行相同的代碼而沒有插入它,則響應超慢,有時甚至從不觸發。

任何人都可以提出爲什麼性能受阻,當設備本身?

編輯: 我應該注意到我正在嘗試讀取設備關閉的傳感器。我發現問題是傳感器在設備休眠時關閉。請看下面的答案。

感謝, 喬希

回答

1

有時候,這僅僅是一個設備的問題,許多人被報告爲行動遲緩光/接近傳感器。就傳感器插入時正常響應的異常而言;也許您的設備傳感器在有電源時會更快響應。

我說你選,看有改變rate

在:

https://developer.android.com/reference/android/hardware/SensorManager.html

率事件。這只是對系統的暗示。事件可能比指定的速率更快或更慢。通常事件 收到更快。該值必須是SENSOR_DELAY_NORMAL, SENSOR_DELAY_UI,SENSOR_DELAY_GAMESENSOR_DELAY_FASTEST之一。

所以我會想象加入SENSOR_DELAY_FASTEST可能會幫助你。

另外,我推薦你Android SENSOR_DELAY_FASTEST isn't fast enough後。

+0

我試着調整傳感器延遲,但是這在拔下插頭時沒有任何影響。我相信你是對的,有可能傳感器在通電時速度更快。但是,我希望情況並非如此,因爲它使我的應用程序的光傳感器成爲零點。 – Josh 2012-01-30 04:56:14

+0

如果這是真的,最好的情況是你繼續你擁有的並有免責聲明:_Android 3.1已經知道傳感器問題_或類似的東西......並且大多數設備將從該版本移開,所以它可能並不多從長遠來看,這是一個問題。 – TryTryAgain 2012-01-30 05:18:35

+0

因此,爲了測試傳感器功率理論,我嘗試了將平板電腦插入牆壁而不是PC的應用程序。結果與沒有插入時結果相同。所以這顯然與PC有關。無論我的開發環境是否運行都沒關係,因爲沒有Eclipse運行,它也同樣快。 – Josh 2012-01-30 10:51:30

1

我發現問題的原因是設備關閉了CPU,導致延遲或不讀取光線傳感器。

添加部分喚醒鎖確實解決了此問題,但代價是電池使用率高。如果任何人有任何建議,我可以繼續監測沒有喚醒鎖的設備關閉光傳感器,我將不勝感激。