Android:为服务分配新的进程id

Android:为服务分配新的进程id,android,service,Android,Service,当我们启动服务(运行时间较长的操作)时,我们可以为服务分配新的进程id吗。。。或操作系统必须分配相同的默认进程id(Linux内核在启动应用程序时分配给应用程序)?对于需要不同于应用程序的进程id的服务,您可以使用android:process属性 根据安卓系统 如果分配给此属性的名称以冒号(“:”)开头,则 当需要时,将创建应用程序专用的新进程 服务在这个过程中运行 这样,当您的服务被创建时,Android系统应该以不同的PID在不同的进程中运行它 要交叉检查/验证您的服务是否确实使用不同的p

当我们启动服务(运行时间较长的操作)时,我们可以为服务分配新的进程id吗。。。或操作系统必须分配相同的默认进程id(Linux内核在启动应用程序时分配给应用程序)?

对于需要不同于应用程序的进程id的服务,您可以使用
android:process
属性

根据安卓系统

如果分配给此属性的名称以冒号(“:”)开头,则 当需要时,将创建应用程序专用的新进程 服务在这个过程中运行

这样,当您的服务被创建时,Android系统应该以不同的PID在不同的进程中运行它

要交叉检查/验证您的服务是否确实使用不同的pid运行,您可以使用
adb shell
中的
ps
命令或使用DDMS查看您的服务是否使用不同的进程id运行

附带说明:在自己的进程中运行服务有一个小优点,即服务的垃圾收集器不会影响应用程序,并且如果单独运行,服务的内存占用会小一些

参考: