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