這個問題是基本的Java,而不是android。如果偵聽器接口內部的代碼執行一些複雜的計算,那麼系統給出的回調會發生什麼情況。在Android中,加速計讀數收集在onSensorChanged(SensorEvent事件)中。 如果我想處理「事件」數據,並且它每秒調用30-40次。怎麼了 ?Android加速器(通常是Java)如何處理回調監聽器?
這是否減少了功能調用? 或者這是否滯後於輸出,但是所有調用都會最終執行?
我知道這應該在單獨的線程中處理,但是如果大量的線程繼續生成,這可能是一個問題。 另外我不能依靠Java System.currentTimeMillis();用於ping每一個500毫秒,因爲這從來不可靠(從某種程度上來說,它保證函數不會在500毫秒之前調用,但不會像1000秒之後那樣最大時間,在我的情況下這將是一個問題,因爲我需要數據至少在500毫秒內)。
或者我應該考慮將TimerTask改爲每500毫秒收集一次數據?