#### 本章主要内容:

- 研究输入事件从设备节点开始到窗口处理函数的流程

- 介绍原始输入事件的读取与加工的原理

- 研究事件派发机制

- 讨论事件在输入系统与窗口之间的传递与反馈的过程

- 介绍焦点窗口的选择、ANR的产生以及以软件方式模拟用户操作的原理

#### 本章涉及的源代码文件名及位置:

- SystemServer.java

`frameworks\\base\\services\\java\\com\\android\\server\\SystemServer.java`

- InputManagerService.java

`frameworks\\base\\services\\java\\com\\android\\server\\input/InputManagerService.java`

- WindowManagerService.java

`frameworks\\base\\services\\java\\com\\android\\server\\wm\\WindowManagerService.java`

- WindowState.java

`frameworks\\base\\services\\java\\com\\android\\server\\wm\\WindowState.java`

- InputMonitor.java

`frameworks\\base\\services\\java\\com\\android\\server\\wm\\InputMonitor.java`

- InputEventReceiver.java

`frameworks\\base\\core\\java\\android\\view\\InputEventReceiver.java`

- com\_android\_server\_input\_InputManagerService.cpp

`frameworks\\base\\services\\jni\\com\_android\_server\_input\_InputManagerService.cpp`

- android\_view\_InputEventReceiver.cpp

`frameworks\\base\\core\\jni\\android\_view\_InputEventReceiver.cpp`

- InputManager.cpp

`frameworks\\base\\services\\input\\InputManager.cpp`

- EventHub.cpp

`frameworks\\base\\services\\input\\EventHub.cpp`

- EventHub.h

`frameworks\\base\\services\\input\\EventHub.h`

- InputDispatcher.cpp

`frameworks\\base\\services\\input\\InputDispatcher.cpp`

- InputDispatcher.h

`frameworks\\base\\services\\input\\InputDispatcher.h`

- InputTransport.cpp

`frameworks\\base\\libs\\androidfw\\InputTransport.cpp`

- InputTransport.h

`frameworks\\base\\include\\androidfw\\InputTransport.h`

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐