Android源码分析之鼠标事件监听(二)

本文分析了Android系统如何监听和处理鼠标事件,主要关注InputManagerService,包括InputReaderThread和InputDispatcherThread的角色。InputReaderThread负责监听和预处理原始输入事件,放入队列;InputDispatcherThread则异步分发这些事件到对应应用,确保系统的快速响应。通过这种方式,Android实现了高效且及时的输入事件处理机制。
摘要由CSDN通过智能技术生成


本文是一篇很长~很长~很长~~~的技术笔记
如果有什么问题,欢迎指正.

Zero 前言

前边儿已经说过,要想了解鼠标就要研究三个东西

  • 鼠标的挂载/卸载
  • 鼠标事件处理,也就是鼠标操作
  • 鼠标绘制

不论是鼠标挂载/卸载还是鼠标操作,基本上算是对输入事件的一个监听了,属于一类东西
但是鼠标绘制,这涉及到surface绘制鼠标,对于我本人,基本上没接触过那么多绘制的东西,一点点尝试分析.
鼠标事件本身又包括什么?

  • 事件监听
  • 事件处理

接下来实现一个阶段性的小目标,就先愉快的分析一下鼠标事件的监听吧.
ok,怎么分析?
从宏观角度出发,千万别一头扎进某个小片段里.
先整体看下整个流程,再来特殊分析.
鼠标也属于输入设备对吧,那鼠标是不是遵循针对输入设备的处理逻辑?
你总不至于给每一种输入设备都配置一套独特的逻辑吧?那岂不是太冗余了.
逻辑是一套,只不过在处理时需要区分一下type而已.
所以呢,本文就来分析手机是如何监听输入事件InputEvent的?

One IMS

这个有时候也需要一些基础和经验.
源码中管理输入的服务是什么?IMS(InputManagerService)
那就从InputManager.h(目录位于/frameworks/native/services/inputflinger/)出发
为啥我先看头文件?
第一,头文件一般会有注释说明,交代整个文件作用,便于代码理解
第二,头文件可以直接看出代码结构structure.一眼就可以知道有哪些方法,哪些filed
果然没让我失望,这个文件里的注释完全表明了framework层所做的工作.

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值