1
我的應用程序從加速度計獲取數據,UI的響應性不如應有。 我想這是因爲在UI線程中調用了SensorEventListener。 所以我嘗試創建一個新的線程,其中實現了事件監聽器的內部類以及我註冊加速度計的線程。然而,代碼是在UI線程中執行的。所以:你如何讓onSensorChanged不會減慢UI?使onSensorChanged不放慢用戶界面
我的應用程序從加速度計獲取數據,UI的響應性不如應有。 我想這是因爲在UI線程中調用了SensorEventListener。 所以我嘗試創建一個新的線程,其中實現了事件監聽器的內部類以及我註冊加速度計的線程。然而,代碼是在UI線程中執行的。所以:你如何讓onSensorChanged不會減慢UI?使onSensorChanged不放慢用戶界面
不要在回調中做很多事情。當你執行你的代碼時,你不能得到另一個更新。
例如,當您在onSensorChanged中有一個睡眠(500)時,您將不會收到針對500毫秒的新更新。
因此,在onSensorChanged中啓動一個新線程,並在那裏做你的東西。
通過這種方式,每次都會創建一個線程,稱爲onSensorChanged。它看起來如此資源昂貴。 – 2013-03-19 14:43:48
的確如此。但是在這個回調中你需要做什麼? – 2013-03-19 14:47:29
如何啓動一個線程來處理所有傳感器的變化(如果只有最新的是重要的,否則隊列中的所有傳感器都不工作),並將接收到的「新」數據傳遞給該線程。 – damian 2013-03-19 15:18:42