Android Input system—KeyEvent flow chart
学习了一段时间的Android input system,里面涉及的东西挺多,也参照了网上很多大神的文章,这里画个图记录所学,可能有不对的地方。
1、why to create & register InputChannel
=> app和InputDispatch处于不同的进程,framework分发key给不同的app需要跨进程通信, 而InputChannel封装了local unix socket,这里用到socket通信,客户端注册到app,服务端注册到InputDispatch,对应过程: ⑨ ⑩ ⑪ ⑫
2、how dose the framework get & dispatch & consume the key
=> get:①②③④ dispatch: ⑥⑦ consume: ⑤ (system key or Global key)
3、how dose the app get & dispatch & consume the key
=> get: ⑧ ⑬ dispatch & consume: ⑭