26
  1. 是否可以在单独的进程上启动IntentService ?如何?如果是这样,是否必须绑定到它?
  2. 是否可以在单独的进程上启动IntentService并在前台运行它
  3. android:isolatedProcess和有什么区别android:process?请参阅:http: //developer.android.com/guide/topics/manifest/service-element.html
4

1 回答 1

37

1)是否可以启动IntentService一个单独的进程?如何?如果是这样,是否必须绑定到它?

是的,您可以IntentService在单独的进程中启动。只需添加android:process=":whatever"到该服务的清单条目即可。

不,你不需要绑定它。您可以通过向它发送 Intent 来与它通信startService()

2)是否可以在单独的进程上启动 IntentService 并在前台运行它?

是的(见上文)。为了让您的服务在前台运行,它可以随时调用startForeground()它。服务本身可以控制它是在前台运行还是在后台运行。

android:isolatedProcess3)和有什么区别android:process?请参阅:http: //developer.android.com/guide/topics/manifest/service-element.html

android:process允许您控制每个特定组件在哪个进程中运行(通过指定进程的名称)。您可以将应用程序的组件分组以在单独的进程中运行(例如,一个进程中的所有 UI 组件和另一个进程中的所有服务)。默认行为是应用程序的所有组件在同一进程中运行。

android:isolatedProcess是一个标志(真/假),如果您希望特定服务组件在与应用程序的其余部分隔离的单独进程中运行,则可以设置该标志。隔离进程没有授予应用程序其余部分的任何权限。通常,权限被授予应用程序,并且应用程序的所有组件都具有应用程序获得的所有权限。android:isolatedProcess仅从 API 级别 16 (Jellybean) 开始可用。请参阅http://aleksmaus.blogspot.de/2012/09/a-feature-of-android-jelly-bean.html在 JellyBean 的服务中引入独立进程标签的优势[Android]

于 2012-09-19T21:17:49.847 回答