zoukankan      html  css  js  c++  java
  • (转)Android 系统属性SystemProperty分析

    一 System Property

      代码中大量存在:SystemProperties.set()/SystemProperties.get();通过这两个接口可以对系统的属性进行读取/设置,

    顾名思义系统属性,肯定对整个系统全局共享。通常程序的执行以进程为单位各自相互独立,如何实现全局共享呢?

    System Properties是怎么一回事,又是如何实现的呢?

           属性系统是android的一个重要特性。它作为一个服务运行,管理系统配置和状态。所有这些配置和状态都是属性。

    每个属性是一个键值对(key/value pair),其类型都是字符串。

    这些属性可能是有些资源的使用状态,进程的执行状态,系统的特有属性……

           可以通过命令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.<服务名>“属性中。客户端应用程序可以轮询那个属性值,以确定结果。

    更多信息参看原文链接:http://www.cnblogs.com/bastard/archive/2012/10/11/2720314.html

  • 相关阅读:
    继承
    对象与类
    反射
    I/O流
    字符串
    Map的entrySet()方法
    接口与内部类
    Git Usage Summary
    HTML(5)
    毕业设计:下载
  • 原文地址:https://www.cnblogs.com/albert1017/p/4673653.html
Copyright © 2011-2022 走看看