资料一

http://developer.android.com/intl/zh-CN/reference/android/app/Service.html

If we want to make this service run in a remote process (instead of the standard one for its .apk), we can useandroid:processin its manifest tag to specify one:

<service android:name=".app.MessengerService" android:process=":remote" />

Note that the name "remote" chosen here is arbitrary, and you can use other names if you want additional processes. The ':' prefix appends the name to your package's standard process name.(是不是这个remote 字符 都是没影响的

资料二

http://developer.android.com/intl/zh-CN/guide/topics/manifest/service-element.html

android:process
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'sprocessattribute can set a different default for all components. But component can override the default with its ownprocessattribute, 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.代表在应用程序里,当需要该service时,会自动创建新的进程。而如果是android:process="remote",没有“:”分号的,则创建全局进程,不同的应用程序共享该进程。



可能大家看了还是不多明白在此我用个小例子为大家解释


Eg、一

当设置为如下是

[html] view plain copy print ?
  1. <SPANstyle="FONT-FAMILY:'MicrosoftYaHei'"><SPANstyle="BACKGROUND-COLOR:rgb(249,249,249)"><serviceandroid:name=".MessengerService"
  2. </SPAN><SPANstyle="BACKGROUND-COLOR:rgb(255,0,0)">android:process=":remote"</SPAN><SPANstyle="BACKGROUND-COLOR:rgb(249,249,249)">
  3. ></service></SPAN></SPAN>

我们可以从DDMS中看到

android:process=":remote" ._第1张图片

在MessengerService中 的pid是新的一个 (484) 不同于 main 的478


android:process=":remote" ._第2张图片

请看好多了一个进程。(pid就代表一个进程。)


Eg、二

当在清单中声明的是

[html] view plain copy print ?
  1. <SPANstyle="FONT-FAMILY:MicrosoftYaHei"><serviceandroid:name=".MessengerService"
  2. ></service></SPAN>



在activity和service在同一个进程中关于这个请详细参考(他们都是在346中)

Service详解(二)





有什么问题请指教,谢谢!



源码地址:http://csdn-qq282133-demo.googlecode.com/svn/trunk/ServiceTest2


更多相关文章

  1. 使用android快速开发框架afinal 开发android应用程序demo
  2. android 进程通信
  3. 7个Android应用程序源代码
  4. android 进程内存分析
  5. 利用HTML5开发Android应用程序 PPT
  6. Android夸进程通信机制九:AIDL深入了解
  7. Android夸进程通信机制三:Messenger与Message
  8. [转]Android的应用程序结构分析:HelloActivity
  9. Android夸进程通信机制六:使用ContentProvider进行进程间通信

随机推荐

  1. xposed hook框架的使用(一)
  2. 编写高效 Android代码
  3. [置顶] Android图片异步加载之Android-Un
  4. 第三章 实现Eclipse Android与J2me平台切
  5. Android(安卓)BLE MTU调整
  6. 7年IT程序员的工资变化和成长历程
  7. Android(安卓)JAR组件安装打包教程
  8. Android应用系列:仿MIUI的Toast动画效果实
  9. Android(安卓)Handler消息处理机制详解
  10. Android下实现Google街景