InputEvent(touch event为例)的产生到控件view处理流程图

InputEvent(touch event为例)的产生到控件view处理流程图_第1张图片

事件分发流程总结:

1,硬件产生 -->设备驱动

2,IMS从设备驱动中使用InputReader通过inotify、epoll机制拿到原始事件,并进行加工

3,IMS通过InputDispatcher将加工后的事件分发给查找到的window,使用的是InputChannel. InputChannel在向WMS addWindow时创建,同时返回给IMS和应用程序的ViewRootImpl,作为事件从IMS传递到应用进程的通道.

4,ViewRootImpl拿到SystemServer进程中IMS传递过来的事件后,进行处理和分发(到Activity和View控件系统)

流程梳理,不对之处欢迎指正

你可能感兴趣的:(android,framework)