Zero 前言
前边儿已经说过,要想了解鼠标就要研究三个东西
鼠标的挂载/卸载
鼠标事件处理,也就是鼠标操作
鼠标绘制
不论是鼠标挂载/卸载还是鼠标操作,基本上算是对输入事件的一个监听了,属于一类东西...在InputReaderThread监听到输入事件时,就要把原始事件rawEvent插入到队列中,相当于一层透传,也就相当于迎宾人员将顾客带到座位
至此,InputReaderThread的任务就完成了...分两个线程处理可以实现快速响应输入事件.
reader线程监听到事件后直接插入到队列中,就可以继续监听,来保证缩短用户输入开始到接收到输入事件的时间
dispatcher线程会一直取出新的输入事件,重点是异步分发给对应应用处理...好了,为了方便理解和记忆,以上都是口语化的解释,接下来该官方描述一下了
Three 源码
InputReaderThread:用于读取和预处理原始输入事件,并且把事件插入到由dispatcherThread...管理的队列中.在输入事件来临前一直阻塞
InputDispatcherThread:等待队列中有新的输入事件(来临前阻塞),并且异步分发给对应的应用
理论结束,接下来大致看一下代码:
InputManager