美文网首页
Service的xml属性解析

Service的xml属性解析

作者: _Youngjim | 来源:发表于2018-01-25 14:09 被阅读0次

属性罗列

<service android:description="string resource"
         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>

android:description
就是一个描述,描述服务的作用,或者备注,随便写,无所谓

android:icon
图标呗

android:label
标签呗,没啥用,和description差不多

android:name
名字呗

android:enabled

能否被实例化。因为service标签包含在application中,必须两个都为true,才能被实例化并使用

android:exported
其他应用程序的组件是否可以调用服务或与其交互。
设置为false时,只有同一个应用程序的组件或带有相同用户ID的应用程序才能启动或绑定该服务。

pid就是进程id。一般而言,应用开启后,系统为其分配一个独一无二的pid,但是可以通过使用process属性而成为多进程应用(比如说service的process:remote)。

uid就是用户id。主要是用来数据共享。默认情况,Android为每个应用也分配了独一无二的uid,所以如果需要两个应用数据共享的话,就让他们的uid一样(条件之一,完整做法暂不研究,。好像如果两个应用都是自己开发的话,使用签名文件可以共享(所以如果不知道你的签名文件,直接可以查看你的shareduserid也没用)。而如果其中一个是系统应用的话则直接就可以)。做法:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.a.a"
      android:versionCode="1"
      android:versionName="1.0"
          android:sharedUserId="com.share"
>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.a.b"
      android:versionCode="1"
      android:versionName="1.0"
          android:sharedUserId="com.share"
>

android:exported的默认值,根据是否有intent-filter而不同。如果有,默认为true。如果没有,默认为false。

android:permission

android:process
默认情况下,服务是运行在该应用所在的进程中。可以通过这个属性,将服务声明运行在新的进程中。

命名的规则是有区别的。

假如是我们的进程名是com.example.a。如果process是":"冒号开头的。比如android:process=“:remote”。那么就会新开一个进程com.example.a.remote来运行service,但是这个进程仅对该应用私有。

如果不以冒号开头。比如android:process=“com.example.remote”,那就是新开一个全局进程com.example.remote来运行服务。。这将允许在不同应用中的各种组件可以共享一个进程,从而减少资源的占用。(好像还需要其他权限才能共享,再说)

远程服务的适用场景
一般适用于为其它应用程序提供公共服务的Service,这种Service即为系统常驻的Service(如:天气服务等)。
优点
1.远程服务有自己的独立进程,不会受到其它进程的影响;
2.可以被其它进程复用,提供公共服务;
3.具有很高的灵活性。
缺点
相对普通服务,占用系统资源较多,使用AIDL进行IPC也相对麻烦。

相关文章

网友评论

      本文标题:Service的xml属性解析

      本文链接:https://www.haomeiwen.com/subject/gouyoxtx.html