在Android中開發一個應用程序,它接收實時數據(通過BT),並需要處理它並將其顯示在圖形中。 處理部分很重,所以我想在後臺執行。 我一直在閱讀有關我的可能選項:背景線程上的沉重計算
帶有單獨線程的新服務 - >我不需要有不同的生命週期(處理將在應用程序關閉後立即完成)。
在一個新的線程可運行 - 如前>同樣的問題,我可以 - >我只能調用啓動方法一次(我將需要運行的處理,每4秒左右..)
的AsyncTask只調用一次「執行」。
我最好的選擇是什麼? 每次我想要處理數據(每3或4秒...)時,是否可以創建新的AsyncTask(或者新的Theread)(在內存和性能方面)?
謝謝
實質上,您需要將通信通道導入AsynchTask。你可以使用幾乎所有的數據結構。例如,在您的活動中創建一個Queue對象,並將其作爲參數傳遞給您的AsynchTask。在那裏,存儲它 - 並定期從它讀取數據,如果它可用。在活動中,只需將新數據放入此隊列中即可。 –
謝謝!我假設我應該讓Queue對象同步化,所以我不會同時讀取和寫入風險。 – Alex
是的,自然:) –