Android 可以创建一个应用程序';s服务是否曾在不同的进程中运行?
如果应用程序通过Android 可以创建一个应用程序';s服务是否曾在不同的进程中运行?,android,Android,如果应用程序通过bindService或startService启动服务,此服务对象是否会从与应用程序不同的进程运行 我这样问是因为许多Android示例项目开始一项服务并使用IPC与他们通信,这似乎完全没有必要,因为根据Androidservice文档,“……服务与其他应用程序对象一样,在其托管过程的主线程中运行。” IPC、AIDL和IBinder接口只有在连接到由非您自己的应用程序启动的服务时才显得有用 这是正确的还是公平的理解 如果应用程序通过启动服务 bindService还是star
bindService
或startService
启动服务
,此服务对象是否会从与应用程序不同的进程运行
我这样问是因为许多Android示例项目开始一项服务并使用IPC与他们通信,这似乎完全没有必要,因为根据Androidservice
文档,“……服务与其他应用程序对象一样,在其托管过程的主线程中运行。”
IPC、AIDL和IBinder
接口只有在连接到由非您自己的应用程序启动的服务时才显得有用
这是正确的还是公平的理解
如果应用程序通过启动服务
bindService还是startService
服务对象是否从进程运行
不同于
申请
是的,通常是在另一个应用程序中实现该服务的情况下
我这样问是因为有很多Android的例子
项目开始服务,然后
使用IPC与他们沟通
真的吗
IPC、AIDL和IBinder接口
仅当连接到服务器时才显得有用
由应用程序启动的服务
除了你自己的
IPC和AIDL,是的。Binder,不…“真的吗?”是的,我也很惊讶,因为当您仅在同一流程中与您的服务进行通信时,使用IPC似乎是不必要的。由于这是不必要的,您认为与从同一进程中运行(并且将永远运行)的服务通信的最佳方式是什么?好吧,这在您将如何使用它方面有所不同。我在一些书中有一些很好的章节,涉及了很多血淋淋的细节。:-)根据我上面链接的示例项目,我将从本地绑定模式开始。只要您不希望该服务在其所有活动结束后仍保持运行,这应该是可行的。在后一种情况下,您需要使用startService()
,而不是(或者除了)bindService()
。你绝对不需要的是AIDL在当地唯一的情况下。