先看看mainfest中的声明
<service android:enabled=["true" | "false"] android:exported[="true" | "false"] android:icon="drawable resource" android:label="string resource" android:name="string" android:permission="string" android:process="string" > . . . </service>
The name of the process where the service is to run. Normally, all components of an application run in the default process created for the application. It has the same name as the application package. The <application>
element's process
attribute can set a different default for all components. But component can override the default with its own process
attribute, allowing you to spread your application across multiple processes.
If the name assigned to this attribute begins with a colon (':'), a new process, private to the application, is created when it's needed and the service runs in that process. If the process name begins with a lowercase character, the service will run in a global process of that name, provided that it has permission to do so. This allows components in different applications to share a process, reducing resource usage.
通常所有的application组件会在application为名称的默认进程中,当然在<application>标签下也可以给所有的组件设置一个其他的默认进程。但是组件们都已可以自定义自己的进程,这样就是一个多进程应用了
name的字符串如果以:开始,那么就是一个新的进程,而且对application私有的。如果是以小写字符开头的,那么就是一个全局的共有的进程中,并且要有此权限,它允许不同应用程序的组件们来共享一个进程的资源。
http://developer.android.com/reference/android/app/Service.html
http://developer.android.com/guide/topics/fundamentals/services.html
http://blog.csdn.net/tjxin_xd/article/details/6313672