前言
Android的属性(Property)系统是一个重要的功能,它作为系统服务管理着系统的配置和状态。这些系统配置和状态都是以键值对(key/value)的形式存储,其中键和值都是字符串类型。
学习新技术,第一步一定是观察它的用途。Android Properties用途简单清晰,用于进程间小数据量 信息交换,相当于系统中的全局变量,任何进程都可以访问,本质是进程间通信的一种方式。
接下来咱来剖析property实现原理。
一,property基本原理
1. 系统启动时,会从若干属性脚本文件中加载属性内容。这些脚本文件通常包含了一系列的键值对,用于设置系统的各种配置。
2. 系统中的所有属性(键/值)被存入同一块共享内存中。这意味着所有的进程都可以访问这块共享内存,从中读取属性内容。
3. 系统中的各个进程会将这块共享内存映射到自己的内存空间,这样就可以直接读取属性内容。这种设计使得进程间可以方便地共享某些系统属性。
4. 系统中只有一个实体可以设置、修改属性值,它就是属性服务(Property Service)。不同进程只可以通过socket方式,向属性服务发出修改属性值的请求,而不能直接修改属性值。这样可以确保属性值的统一管理和安全更新。
5. 共享内存中的键值内容会以一种字典树的形式进行组织,这样可以方便地按照键来查找对应的值。
一张图尽可表示以上内容:</