我的應用程序連接到多個SPP藍牙設備,所有這些設備流數據。有四個設備流式傳輸,一個是250赫茲,另一個是100赫茲。我想將它們放在Service
中,但也希望每個設備都在單獨的Thread
中運行。每個Thread
還必須連接到SQLite數據庫以實時插入數據。設備可以長時間連接,並可隨時斷開連接並隨時重新連接。一旦開始應用程序可能會運行24小時或更長時間,並始終在尋找已配對設備的可用性。Android服務與意圖服務連接到多個藍牙設備
的問題是:是否有更好的性能,明智的做法是在一個單獨的Service
爲此運行多個Thread
S(每個連接裝置Thread
)或者是更好地運行一個單獨的IntentService
(這當然會在運行它自己的工作Thread
?
我已閱讀在SO和其他地方關於這個很多其他的問題和答案,可以看到優點和做法的利弊,但我無法找到明確回答我的問題的答案。我不知道如果正在運行有時Service
中的多個Thread
將不會阻止主Thread
另一方面,我不認爲我可以同時在IntentService
中運行多個Thread
。
即使使用IntentService,也需要啓動後臺線程,因爲IntentService使用一個後臺線程來處理所有請求 – pskink
爲什麼不等到有人回答[您的問題的第一個副本](http://stackoverflow.com/questions/ 27870810 /運行,多服務上,Android的換藍牙功能的設備)? – 323go
@pskink謝謝你的回覆。我仍然不確定運行IntentService的好處,因爲它排隊並且不會並行處理,至少這是我所理解的。 – Bohmian