Android 输入系统 input系统框架层分析

本文深入分析Android输入系统的框架层,重点探讨InputManager.cpp中的start和stop函数。Input系统主要涉及两个线程:InputReaderThread负责从input设备读取事件,InputDispatcherThread则负责事件的分发。在InputReaderThread中,loopOnce函数通过mEventHub从设备文件读取事件,使用EPOLLIN进行阻塞IO。事件读取后,通过flush函数传递给InputDispatcherThread。InputDispatcherThread的dispatchOnce函数根据事件类型进行分类并调用相应处理函数。
摘要由CSDN通过智能技术生成

输入系统 input系统框架层分析

在这里插入图片描述
当然一开始就要找到 InputManager.cpp (框架层都是这样的), 然后进去发现有很多的 实现函数 现在着重分析 start 和 stop 函数

在 start 函数中 有 创建 两个线程 所以 input 的所有工作就是围绕 这两个线程展开的
第一个线程是 InputReaderThread
第二个线程是 InputDispatcherThread

1.进入 InputReaderThread 线程发现 InputReaderThread 线程是从 publicThread 线程派生出来的

在这里插入图片描述

所以现在的分析就是针对 线程来进行分析的 首先就是从 run 来进行分析 (如果对线程不了解,这里就分析下 Threads.cpp ----- 不过需要将 system 的代码添加进来)
在 Threads.cpp 中就看到 run 函数,运行 run 函数之后就会运行到 run中的 threadLoop()函数

所以分析 InputR

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荣敢飞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值