Input子系统作为Android事件上报的基本是唯一通道,属于Android的核心模块。
Input子系统大概可以概括为两条主线:
(1)、从上到下的,主要是开机之后Input系统的初始化,最核心的是启动了两个线程:
InputReader和InputDispatcher。
(2)、从下到上的,主要是事件的上报及分发,EventHub从kernel中读取到事件到InputDispacher将事件分发给对应的活动窗口,完成事件的传递。
Input系统的两条主线
本文主要介绍下第一条主线:Input系统的初始化
Input系统架构
Input系统的初始化主要包含WindowManagerService和InputManager两部分,即红线框出的部分。
为了编辑的方便,使用截图的形式来描述
最后用流程图总结下Input初始化流程
Input初始化流程