use*_*443 7 android android-intent android-layout android-fragments
我想知道hierarchyViewer工具在android中是如何工作的.由于所有Android应用程序都在不同的进程中运行,它如何知道视图的布局.谁将视图及其属性推送到hierarchyViewer.
android将哪些服务推送到HierarchyViewer工具.有人可以请这个解释一下吗?
我们首先看一下 adb 是如何组织的。它有 3 个主要组件,如下所述-
adb install example.apk例如,当我们在 shell 上发出类似命令时。它首先调用计算机上的 adb 客户端并告诉它要安装 example.apk。然后服务器将 apk 连同命令一起发送到设备上运行的 adb 守护进程。通信是通过 adb 桥接器通过 TCP 连接(通常在端口 5554 运行)进行通信来完成的。然后 adb 守护程序调用系统服务器来执行命令。
现在让我们看看 Android 设备方面的故事 -
每个 Android 设备上都有一个称为System Server 的服务器。您可以通过发出命令来查找其状态adb shell ps | grep system_server。系统服务器负责服务的管理。系统服务器运行的一些服务是
窗口管理器具有诸如主线程、窗口操作、方向、分层、输入事件管理、焦点等信息。窗口管理器已提供有关视图的信息。
现在将所有内容放在一起,层次结构查看器的最终流程是 -
REMOTE_COMMAND_CAPTURE_LAYERS层次结构查看器创建 adb 客户端,在发出或 之类的命令时询问有关视图的信息COMMAND_WINDOW_MANAGER_LIST。
请求到达 adb 服务器,该服务器将其转发到运行应用程序的设备上的adbd 。
adbd 将请求转发到系统服务器,系统服务器标识请求必须转发到的服务。在本例中是Window Manger。
然后,窗口管理器询问负责管理应用程序主 UI 线程的线程池的视图管理器。
视图管理器将此信息返回给窗口管理器。
窗口管理器将数据发送回 adbd。
Adbd 将其传回 adb 服务器。
adb 服务器将数据返回给层次结构查看器。
希望能帮助到你。
| 归档时间: |
|
| 查看次数: |
333 次 |
| 最近记录: |