0
如果應用程序通過bindService
或startService
開始Service
,此服務對象是否會從與應用程序不同的進程運行?應用程序的服務是否可以運行在不同的進程中?
我問,因爲許多Android示例項目開始一個服務,並使用IPC看起來完全沒有必要考慮,根據Android Service
文檔,「......服務,像其他應用程序對象一樣,在主線程中運行他們的託管過程。「
如果連接到由您自己以外的應用程序啓動的Service
,IPC,AIDL和IBinder
接口似乎很有用。
這是正確還是公平的理解?
「真的嗎?」是的,我也很驚訝,因爲在同一過程中只使用IPC與您的服務進行通信似乎沒有必要。因爲這是不必要的,您會建議什麼是與同一過程中正在運行(並且只會運行)的服務進行通信的最佳方式? – skyler 2010-04-26 21:44:06
那麼,你將如何使用它有所不同。我在一些書中有一些很好的章節,這些章節進入了許多血淋淋的細節。 :-)我會從本地綁定模式開始,按照上面鏈接到的示例項目。只要您不打算讓服務在所有活動結束後繼續運行,就應該可以工作。在後一種情況下,您需要使用'startService()'而不是'bindService()'(或者除此之外)。你絕對*不需要的是AIDL在本地唯一的情況。 – CommonsWare 2010-04-26 21:54:06