android:isolatedProcess
和android:process
之间有什么区别?请参阅:http://developer.android.com/guide/topics/manifest/service-element.html 答案 0 :(得分:36)
1)是否可以在单独的流程上启动
IntentService
?怎么样?如果是这样,是否必须绑定它?
是的,您可以在单独的流程中启动IntentService
。只需将android:process=":whatever"
添加到该服务的清单条目中即可。
不,你不需要绑定它。您可以使用startService()
2)是否可以在单独的进程上启动IntentService并在前台运行它?
是(见上文)。要使您的服务在前台运行,只要它想要这样做就可以调用startForeground()
。服务本身可以控制它是在前台运行还是在后台运行。
3)
android:isolatedProcess
和android:process
之间有什么区别?请参阅:http://developer.android.com/guide/topics/manifest/service-element.html
android:process
允许您控制每个特定组件在哪个进程中运行(通过指定进程的名称)。您可以将应用程序的组件分组以在单独的进程中运行(例如,一个进程中的所有UI组件和另一个进程中的所有服务)。默认行为是应用程序的所有组件都在同一进程中运行。
android:isolatedProcess
是一个标志(true / false),如果您希望特定服务组件在与应用程序其余部分隔离的单独进程中运行,则可以设置该标志。隔离的进程没有授予应用程序其余部分的任何权限。通常,权限被授予应用程序,应用程序的所有组件都具有应用程序获得的所有权限。 android:isolatedProcess
仅适用于API级别16(Jellybean)。请参阅http://aleksmaus.blogspot.de/2012/09/a-feature-of-android-jelly-bean.html和Advantage of introducing Isolatedprocess tag within Services in JellyBean[Android]