Android 事件输入系统整体框架
来源:互联网 发布:java分布式系统架构图 编辑:程序博客网 时间:2024/05/18 09:17
一、 整体框架图
1. ViewRootImpl 每个窗口都对应一个viewRoot,通过viewRoot把view 添加到WM WindowState 列表里,之后WM就可以维护每个窗口的状态。
native层上报的事件消息和刷屏会先到达ViewRoot。对于刷屏事件,ViewRoot 会对view执行layout和measure动作。对于key或者触屏事件,ViewRoot 会根据当前状态进程分发,可能发给view,也可能发给输入法等。
2. WM 管理窗口,为每个View 注册事件输入通道
3. InputManagerService 和 nativeInputManager 提供接口注册事件通过,提供接口拦截事件,ANR通知等。
4. InputEventReceiver 和 NativeInputEventReceiver 事件接收器,每个窗口对应一个。
5. InputDispatcher 事件分发器,从InputReader 接收事件,如果有WM拦截了事件则不再发给应用,否则通过channal发给当前获得焦点的窗口应用处理。
6. InputReader 通过EventHub读取事件,比发给InputDispatcher。
7. EventHub 根据不同的输入设备加载不同的配置,提供接口从事件设备节点读取事件,并调用Input Lib库对事件解析。
8. Input Libs 事件解析库,并把kernel 层的事件 keycode 转换成android层的事件 keycode。
9. 下面是整套流程图,可以从整体上看出事件是如何处理和分发的。
二、整体流程图
- Android 事件输入系统整体框架
- android传感器系统整体框架分析
- android系统中input驱动整体框架分析
- android系统中input驱动整体框架分析
- Android整体框架
- 推荐系统的整体框架
- Android 4.0 事件输入(Event Input)系统
- Android 4.0 事件输入(Event Input)系统
- Android 4.0 事件输入(Event Input)系统
- Android 4.0 事件输入(Event Input)系统
- Android 4.0 事件输入(Event Input)系统
- Android 4.0 事件输入(Event Input)系统
- Android 4.0 事件输入(Event Input)系统
- Android 4.0 事件输入(Event Input)系统
- Android 4.0 事件输入(Event Input)系统
- Android 4.0 事件输入(Event Input)系统
- Android 4.0 事件输入(Event Input)系统
- Android 4.0 事件输入(Event Input)系统
- Android Studio使用jar包
- HDU5883 欧拉路径与欧拉回路的判定
- DBMS_SCHEDULER包管理计划任务
- Android 实现点击两次BACK键退出应用
- 归并排序
- Android 事件输入系统整体框架
- 注解+动态代理实现bookstore的权限控制
- memcache
- HDU 5887 Herbs Gathering(搜索+剪枝)
- CDH5 新手详细安装教程
- springMvc框架解决返回Json格式中文乱码问题
- java导入excel到数据库
- 手机端 $.ajax 失效无法进入后台
- Java基础之引用(String,char[],Integer)总结于牛客网的专项练习题