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

Mar*_*rie 11 android process

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

dde*_*ele 23

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

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

<activity android:name=".RemoteActivity" android:label="@string/app_name" android:process=":RemoteActivityProcess"/>
Run Code Online (Sandbox Code Playgroud)

  • 你的回答和博客看起来不错。我接受你的回答并投票。如果我稍后需要澄清,我希望你能提供。 (2认同)

小智 6

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

基本上,为了在“自己的”进程中运行服务,您需要具备以下条件。

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