应用启动流程梳理(二)-Input事件传递流程

作者&投稿:赵雁 (若有异议请与网页底部的电邮联系)
~ 接上篇,上篇简单介绍了下应用安装流程,以及附加梳理了编译和加载相关的一些内容。这个过程很多知识点启动流程会涉及到,所以先打个底。那么其实从这篇开始才正式进入应用的启动流程梳理。

大致流程:

2.1. TP事件形成 :屏幕的Firmware按一定频率扫描到电流变化开始计算触摸的位置并上报,报点信息通过TP driver处理最终写入相关设备节点(/dev/input/eventXXX)。

2.2. 事件获取 :EventHub收集底层硬件设备tp报点。打开"/dev/input/"目录下的input设备,并将其注册到epoll的监控队列中。一旦对应设备上有可读的input事件,马上包装成event,上报给InputReader。

2.3. 事件读取 :InputReader获取到事件后,通过DeviceId和对应的InputMapper来确认是什么设备的什么类型事件,并对其进行首次数据结果封装,结果放入InputDispatcher的mInboundQueue中等待被分发处理。

2.4. 事件分发 :InputDispatcher从mInboundQueue队头取出事件,寻找焦点窗口,确认InputChannel连接是否有效(InputChannel注册是在WMS创建窗口时候做的),一切就绪就把当前事件放入outBoundQueue, 然后将事件发送给应用进程,同时将当前事件对象从outBoundQueue转移到waitQueue.这里要注意ANR的问题,如果下一个Input事件到来,发现当前waitQueue队列不为空,且头事件分发超过了500ms,那么就开始ANR计时,超过5S会生成ANR对应的command命令,在下一次触发command命令时走ANR流程。

Input事件在系统层面传递的整体流程图如下:

2.6. 事件分发 :dispatchTouchEvent(分发)、onInteceptTouchEvent(过滤)、onTouchEvent(处理)。其中onInteceptTouchEvent只有ViewGroup才有。

好了Input就梳理这么多,具体细节老规矩还是参考之前的文章:
Android Input(一)-相关模块初始化
Android Input(二)-输入子系统
Android Input(三)-InputReader获取事件
Android Input(四) -InputDispatcher分发事件
Android Input(五)-InputChannel通信
Android Input(六)-ViewRootImpl接收事件
Android Input(七)-ViewRootImpl处理事件
Android Input(八)- ANR原理分析
Android Input(九)-Input问题分析指北
Android Input(十)-整体流程图
Android WMS(三)- Input管理


应用启动流程梳理(二)-Input事件传递流程
2.1. TP事件形成 :屏幕的Firmware按一定频率扫描到电流变化开始计算触摸的位置并上报,报点信息通过TP driver处理最终写入相关设备节点(\/dev\/input\/eventXXX)。2.2. 事件获取 :EventHub收集底层硬件设备tp报点。打开"\/dev\/input\/"目录下的input设备,并将其注册到epoll的监控队列中。一旦对应设备上...

Android 启动流程梳理
Android启动流程,就像手机从开机到主界面的神秘之旅。当手机充满电,按下电源键,一系列复杂的过程就开始了。首先,手机主板被唤醒,执行BootLoader程序,这个阶段类似电脑的BIOS,负责加载预设的系统路径。十年前的Android世界,用户可以自由刷机,像小米的MIUI、百度和阿里的定制系统都曾风靡一时。BootLoader...

流程梳理的三个步骤
流程梳理的三个步骤1 首先要收集公司组织架构、部门职责的相关信息,同时收集公司现有的规范、规章制度以及相关管理办法。对公司运营相关的工作进行梳理分类,同时根据工作的重要程度以及影响范围进行分层分级。结合相关的工作范畴,列出相关的主要流程,向流程相关的部门和人员进行调研,了解流程中需要优化改进的...

接到一个项目以后,一般要经过这么5步,把业务需求转换为系统方案_百度知 ...
1. 业务部门及职责梳理 在项目启动之初,应首先对业务部门及其职责进行梳理。这样做可以帮助项目经理更清晰地了解各部门的工作内容,为后续的项目规划提供坚实基础。2. 业务流程梳理 这是项目工作中最具挑战性的环节,涉及沟通、协调和分析等多方面能力。产品经理需精确识别并串联起业务流程中的关键节点,确...

教练对话流程梳理(非自创)
【导图亮点】将教练对话流程梳理出来 【导图解说】一对一教练的时候,有时候可以用固定的流程套路来对应。解析 1、连接:来访者来到场地需要让对方感受到场域的安、以及无感的放松。2、启动:在来访者放松下来的时候,开始自我介绍和这次谈话所需要借助的工具介绍。3、承接:做完介绍后,借由工具的使用,...

业务流程梳理及流程
一、业务流程梳理步骤 1. 通过职责梳理确定流程架构和目录:明确流程与职责的对应关系,对照制度发现各部门职责问题,为改进职责体系提供机会。2. 通过工作访谈描述流程:在流程描述阶段,主要问题是制度缺失,需根据分公司流程梳理矿区服务事业部业务,确保流程描述人员具备流程控制与风险管理意识,以及较强的...

PMS与OMS系统贯通后引发流程梳理
3.调控中心在每天固定时间节点梳理还没有上报的检修停电申请票,打电话提醒运行单位上报申请票。新投异动手续办理过程中,会涉及到项目管理单位、施工单位、运行单位、运检部、营销部、调控中心各部门,涉及方众多,工程管理单位需要提前介入流程启动环节。1.工程管理单位根据月度检修停电申请单提前办理相应新投...

怎样装系统U盘装系统教程怎样安装官方正版Widows10系统
Windows系统安装流程梳理:1.制作Windows10系统安装U盘 2.设置U盘启动,开始系统安装 3.正版Windows系统激活 4.电脑驱动程序安装 需要准备:一个U盘(8G以上)、一台正常运行的电脑 提示:操作之前备份好电脑和U盘的数据再操作。一、 制作Windows10系统安装U盘1.下载光盘写入工具 光盘写入工具 Ultra...

工作流程梳理及规范
二、开展工作流程梳理、健全岗位职责工作的阶段和步骤 按照便“便捷高效、统筹规划、分工配合、标准统一”的原则,公司办公例会上明确了流程梳理工作步骤、工作要求及完成时限,通过细致的阶段划分和时限要求将工作任务层层分解到各工作组,进而分解到每个部门、每名员工身上。 第一阶段是全员参与,集思广益。每名员工根据...

流程梳理的方法
流程梳理的方法 一、通过职责梳理确定流程架构和目录 通过职责梳理,确定流程与职责的对应关系,为后面流程描述和流程优化打下坚实的基础,通过对照制度,发现各部门在职责方面的问题(如缺失、交叉重叠等),弥补通过职责分解对应流程过程中可能出现遗漏流程的情况,同时为改进职责体系提供机会,通过对照制度,...

霍州市13210145062: 启动应用程序的方法有哪几种 -
简玛拜阿: 应用程序的启动方法有: 1、用鼠标双击桌面上的快捷方式图标. 2、选择“开始/程序”菜单命令 3、选择“开始/运行”菜单命令 4、找到安装目录双击应用程序的图标

霍州市13210145062: android 注入程序是怎么运行的 -
简玛拜阿: 需要在程序内模拟用户输入,比如点击屏幕,或者输入键盘.模拟用户的滑动等.具体的需求,比如测试的时候,测试打开浏览器1000次.或者通过网络发送命令给手机,在手机上执行点击或者输入.再或者,平板和蓝牙鼠标通过蓝牙通信,...

霍州市13210145062: linux 如何用命令行启动程序? -
简玛拜阿: 1. 执行程序时,首先要确保该程序有执行权限,使用chmod a+x 文件名可以添加执行权限. 2. 对于gcc生成的c语言程序,可以直接在程序所在的文件夹下执行 ./script_name -i input1 input2 -o output

霍州市13210145062: 列出五种启动应用程序的方法. -
简玛拜阿: 1、将常用的应用程序的快捷方式保存到桌面的上的一个文件夹中 2、添加到快速启动栏 3、设置开机启动 4、Win7及以上系统中,在开始菜单中的搜索中输入应用程序的名称或部分名称 5、右击应用程序的快捷方式选择属性-然后在快捷方式中创建打开该程序的快捷键(必须保证该快捷组合件没有被占用)

霍州市13210145062: u - boot 启动流程分成哪两个阶段?分别要完成哪些功能 -
简玛拜阿: 4. 烧写.bin文件(若二进制文件扩展名不是.bin改成xxx.bin即可)1)打开.bin文件(bootloader):File ->Open data file2)Target -> Connect3)Target ->Erase chip4)Target -> Program

霍州市13210145062: 嵌入式linux的bootloader的启动流程是怎样的 -
简玛拜阿: 一个嵌入式 Linux 系统从软件角度看可以分为四个部分:引导加载程序(Bootloader), Linux 内核,文件系统,应用程序. 当系统首次引导时,或系统被重置时,处理器会执行一个位于Flash/ROM中的已知位置处的代码,Bootloader就是这第一...

霍州市13210145062: 应用程序的运行流程 -
简玛拜阿: 应用程序的运行流程>?> 各个应用程序的运行流程都是不一样的. 但一般就是这样 打开后程序初始化,分配内存,然后执行程序第一条指令,第二条,第三条... 关闭时向系统发送终结指令关闭..

霍州市13210145062: windows系统启动流程详解 -
简玛拜阿: 一.预启动 首先计算机通电进行自检,并由BIOS(即基本输入输出系统)完成基本硬件配置,然后读取硬盘 的MBR(主引导记录)检查硬盘分区表以确定引导分区,并将引导分区上的操作系统引导扇区调入内...

霍州市13210145062: 电脑程序启动步骤? -
简玛拜阿: SYSTEM32 c盘里面的一个文件夹 步骤 在基于INTEL的计算机上,Windows2000/XP的启动过程大致可分为5个步骤:预启动,启动,装载内核,初始化内核以及用户登录.下面分别展开介绍: 一.预启动 首先计算机通电进行自检,并由BIOS(...

霍州市13210145062: 如何启动应用程序?都有那几种的启动办法?
简玛拜阿: 1利用(开始)菜单启动应用程序2通过快捷方式启动程序3通过打开文件来启动程序

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网