1

啓動首次從它的活動就像從其活動啓動的服務是否在新線程中運行?

this.startService(new Intent(this,UpdaterService.class)); 

服務這是否服務於一個新的線程中運行? 如果我把這個服務(沒有線程的幫助)沉重的工作負荷將Android將顯示強制關閉此應用程序?

和Thread類中的AsyncTask類有什麼不同? 哪一個用在哪裏?

謝謝。

回答

2

Android developer manual reads

  • Service不是一個單獨的過程。 Service對象本身並不 暗示它正在運行它自己的 進程;除非另有規定, 它運行在與它所屬的 應用程序相同的進程中。
  • A Service不是線程。它不是 意味着它自己的主線程 的工作(避免Application不是 響應錯誤)。
+0

好吧那麼服務如果它不是一個線程或過程是什麼? –

+0

@jason _A Service是一個應用程序組件,它表示應用程序希望在不與用戶交互時執行長時間運行的操作_ ** RTFM ** – barmaley

1

服務運行在不同的進程中,它只是一個沒有用戶界面的應用程序。 AsyncTask只是一個幫助類,可幫助您在單獨的線程上完成一些工作並將其與UI線程同步,例如以向用戶顯示當前的進度。當你需要這種類型的同步時,你可以使用AsyncTask,但通常使用任何這些同步之間沒有太大的區別。希望這可以幫助。

相關問題