type
status
date
slug
summary
tags
category
icon
password
设置页的处理逻辑
在
packages/apps/Settings/src/com/android/settings/development/ShowLayoutBoundsPreferenceController.java
中有:DisplayProperties是生成的类,看一下其中的debug_layout属性:
Android系统属性定义在
.sysprop
文件中,其本质上是一个protobuf文件.看一下debug_layout属性(
system/libsysprop/srcs/android/sysprop/DisplayProperties.sysprop
中):然后系统会自动生成一些中间类.比如上面的DisplayProperties.java.
总结一下,其实就是:
- 系统属性定义在
.sysprop
文件中,系统会自动生成一些中间类用于读写属性
- 设置页中用户打开/关闭开关,会改变属性值,然后通过Binder机制通知给各个服务;
debug.layout运行机制
在ViewRootImpl初始化的时候会执行下面的方法:
在View的draw中有下面这一句:
上面这些就是我们看到的那些红色框框的绘制逻辑了.
adb获取系统属性
- 获取全部属性
- 获取指定属性
adb打开关闭“显示布局边界”
执行完命令之后要重启APP才会看到效果.
- 作者:姜康
- 链接:https://jiangkang.tech/article/d05d62c9-9e97-4f6b-8f7f-551586806c51
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。