Android里有很多属性(property),每个属性都有一个名称和值,他们都是字符串格式。这些属性定义了Android系统的一些公共系统属性,如果是去查看一下Android源代码你会发现,代码中会大量的存在:SystemProperties.set()/SystemProperties.get();通过这两个接口可以对系统的属性进行读取/设置,从它的名字就可以联想到,系统属性肯定对整个系统的全局共享。
我们知道属性系统是android的一个重要特性。它作为一个服务的运行,管理系统配置和状态。因此的话所有这些配置和状态都是属性。每个属性是一个键值对(key/valuepair),其类型就属于是字符串。这些属性可能是有些资源的使用状态,进程的执行状态,系统的特有属性。
我们可以通过命令adbshell查看一下属性:
adb shell getprop
或者getprop init.svc.bootanim制定查看某个属性状态
使用setprop init.svc.bootanim start设置某个属性的状态
一些特别属性:
看到如果属性名称以“ro.”开头,那么这个属性就被看作是只读属性。一旦设置的话,属性值不能改变。
属性名称以“persist.”开头,当设置这个属性时,其值也将写入/data/property。
如果看到属性名称以“NET.”开头,当去设置这个属性的时候,“net.change”属性将会自动的去设置,以加入到最后修改的属性名(netresolve模块的使用这个属性来追踪在net.*属性上的任何变化。)
看到属性“ctrl.start”和“ctrl.stop”是用来启动和停止服务的。这里每一项服务必须在/init.rc中定义.系统启动时,与init守护进程将解析init.rc和启动属性服务,这是一个启动的原理。
当收到设置“ctrl.start”属性的请求,这个时候属性服务将使用该属性值作为服务名找到该服务,启动该服务。这项服务的启动结果将会放入“init.svc.<服务名>“属性中。
通过adb播放开机动画
1:adb shell setprop service.bootanim.exit0
2:adb shell setprop ctl.start bootanim
结束播放开机动画
1:adb shell setprop ctl.stop bootanim
2:adb shell setprop service.bootanim.exit1
Android的属性看起来并没有那么复杂,在实际的工作中只需要认真仔细的去研究一下,这对于初学者来说还是简单的,也是入门安卓开发的一个基础。
¥199.00
¥179.00