什麼是最好的實現方法。我有一個Android應用程序,它將使用我的Python服務器在兩個電話之間進行通信。輪次意味着他們不能相互交談,直到一輪迴合開始,一旦他們發送消息,他們就不能發送另一個消息,直到對方作出迴應,然後開始新一輪。IntentService,Service或AsyncTask
我在想我會使用IntentService,但它似乎是錯誤的,讓服務器不斷啓動和停止,我不會不必擔心與asynctask的問題或者是處理它的最佳方式。我怎麼能有一個服務,應該接收和發送消息給客戶端,似乎服務是更多的一種方式?
你錯了: *請注意,與其他應用程序對象一樣,服務在其宿主進程的主線程中運行。這意味着,如果你的服務要做任何CPU密集型(如MP3播放)或阻塞(如網絡)操作,它應該產生自己的線程來完成這項工作。 *服務不是線程。它不是一種自己的方式來處理主線程(以避免應用程序不響應錯誤)。 因此,它並不是當且僅當你需要多線程。 – roiberg 2013-03-20 12:14:52
IntentService使用底層的AsyncTask來處理主線程@roiberg的處理。 – lilbyrdie 2013-04-16 20:27:45
@roiberg正確。服務將在主線程上運行。爲了使這個答案更加清晰,服務對於多線程(線程池)或在後臺保留序列化的執行程序/處理線程很有用。 – manjusg 2015-12-28 10:14:36