我正在開發一款應用程序,該應用程序需要訪問給定傳感器的「最後5秒鐘的數據」。我的計劃是以某種方式存儲這些數據,然後當我請求數據時,它會返回在最近5秒內獲得的任何數據。我不知道如何有效地做到這一點,因爲:收集,存儲和檢索傳感器數據
的Dalvik不喜歡有大量的對象被創建,所以我不能讓每一個傳感器讀數包含值的對象+時間戳。
我需要不斷地以某種結構存儲新數據,同時檢索它的特定部分。
我唯一的其他要求是應該丟棄超過5秒的數據。這並不重要,但我想保留這些數據會在記憶中吃掉。
我目前有一個onSensorChanged
偵聽器設置,所以我不需要幫助。
任何想法?
我假設你正在與[SensorManager](http://developer.android.com/reference/android/hardware/SensorManager.html),爲什麼不要每秒都輪詢一次[Timer](http://developer.android.com/reference/java/util/Timer.html),在你認爲合適的地方存儲這些值,然後在需要時查詢這樣的存儲庫? –
已經看到了SensorEventListener(http://developer.android.com/reference/android/hardware/SensorEventListener.html),所以當你獲得新的數據直到它改變。我會建議將這些信息保存在數據庫本地,並使用LoaderManager通過光標訪問 – Necronet
@NanoTaboada這就是問題所在,使用哪個存儲庫以及如何查詢它? – Glitch