服务在单独的全球或私人流程中。有什么区别?

时间:2012-02-01 12:31:02

标签: android process android-service

http://developer.android.com/guide/topics/manifest/service-element.html#proc

有什么区别?

  

如果分配给此属性的名称以冒号(':')开头,则在需要时创建一个专用于应用程序的新进程,并在该进程中运行该服务。如果进程名称以小写字符开头,则服务将在该名称的全局进程中运行,前提是它具有此权限。这允许不同应用程序中的组件共享进程,从而减少资源使用。

我已经检查过,无论是私有还是全局,我都可以绑定到服务,无论我是在同一个应用程序还是第二个应用程序中执行。 (不同的UID)

1 个答案:

答案 0 :(得分:0)

我不确定私有进程是什么意思,但通常服务运行在应用程序的默认进程或专用进程(由清单中的服务组件的android:process设置)。如果服务已明确设置android:exported = true,或者服务组件具有意图过滤器而未设置导出为false,则具有不同用户标识的客户端可以绑定或启动您的服务。

http://developer.android.com/guide/topics/manifest/service-element.html#exported

在服务标签上设置的权限可以进一步限制谁可以启动并绑定到您的服务。