Dispatcher线程框架大体做三件事
一、获得事件
①、放入队列前先稍加处理按照分类:Global/system/user,处理紧急事件比如来电时按音量键静音。
②、InputReader线程放入mInboundQueue
二、稍加处理(从队列中取出事件后的处理)
③、对于gloabl/system按键,处理放入mCommandQueue。
④、对于user按键要发给应用程序的。我也放入一个队列
查找目标APP得到connection(Dispatcher线程会与众多APP产生一个联系,它是由wms创建的)
放入connection里面的outboundQueue队列
三、发给APP
⑤、从outboundQueue队列取出事件通过connection发给APP
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIiclRnblN0LclHdpZXYyd2LcBzNvwVZ2x2bzNXak9CX90TQNNkRrFlQKBTSvwFbslmZvwFMwQzLcVmepNHdu9mZvwFVywUNMZTY18CX052bm9CX90TQNVzaU1UdWhVZ2Z0RhZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39jN3cTNxQzMyIDOxIDM4EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)