Android应用程序如何拥有多个进程?

时间:2011-07-04 05:57:17

标签: android process

我开发了一个Android应用程序,它有1个进程和2个服务。但我注意到“Google服务”有2个进程和1个服务。它怎么能有2个过程?我在Processes and Threads做了一些阅读,试图更多地了解流程。它谈到有一个清单条目,但没有一个具体的例子,我没有得到它。有人可以解释Android应用程序如何拥有多个进程并提供一个具体的例子吗?

2 个答案:

答案 0 :(得分:22)

您可以在清单中指定android:process=":remote",以便在单独的流程中运行活动/服务。

“远程”只是远程进程的名称,您可以随意调用它。如果您希望在同一个进程中运行多个活动/服务,请为其指定相同的名称。

<activity android:name=".RemoteActivity" android:label="@string/app_name" android:process=":RemoteActivityProcess"/>

答案 1 :(得分:3)

如果您正在寻找示例,请查看hogwarts library,它将为您提供Android中多进程编程的工具。

基本上,您需要在自己的流程中运行服务。

    在AndroidManifest.xml中
  1. ,确保服务的进程属性为“:remote”或带有“:”前缀的类似内容
  2. 使用startService()调用从您的活动中调出服务。
  3. 使用AIDL for ipc。
  4. 在进程之间进行所有内容传输Parcelable。 (这实际上是第3点的要求)