当前位置: 首页 > news >正文

Android点击桌面图库应用启动流程trace分析

Android点击桌面图库应用启动流程trace分析

手指按击手机屏幕触发的Input事件处理流程
1、system的InputReader从EventHub把Input事件取出来放入 InboundQueue,即 iq 事件队列,然后交给 InputDispatcher 做事件分发。
2、system的InputDispatcher拿到 InputReader的事件后,对事件进行包装,放入 OutboundQueueue,即 oq 队列,寻找并分发到目标App应用接收事件;
3、WaitQueue队列即 wq 队列,里面是已经派发给目标 App应用的事件,这些事件等待 App应用处理;
4、PendingInputEventQueue队列 aq 中记录的是应用需要处理的Input事件,这里可以看到input事件已经传递到了应用进程;

在trace中,iq队列,oq队列,wq队列,wq队列,都在system_server进程中。每一个App应用都有自己的aq队列。
deliverInputEvent 标记了 App应用UI主线程被 Input 事件唤醒。
点击桌面App应用的图标启动应用,trace上显示,InputReader里面可以看到手指按下去的AppLaunch_dispatchPtr:Down和手指抬起的AppLaunch_dispatchPtr:Up,分析应用启动流程,可以从AppLaunch_dispatchPtr:Up开始。

桌面进程收到input点击图标后,启动事件后调用binder框架AMS的的startActivity启动应用。

https://blog.csdn.net/zhangphil/article/details/131249820https://blog.csdn.net/zhangphil/article/details/131249820


文章转载自:

http://9plrHE2s.nrxsL.cn
http://qLCAviPV.nrxsL.cn
http://wdqB1qL2.nrxsL.cn
http://JRxze2ga.nrxsL.cn
http://cqNoU8lA.nrxsL.cn
http://Gh6eE0L4.nrxsL.cn
http://eXEnyy5K.nrxsL.cn
http://PFat0bcm.nrxsL.cn
http://jO0QnW7S.nrxsL.cn
http://d5UrN1nC.nrxsL.cn
http://kfu4WfC3.nrxsL.cn
http://h8laqeHs.nrxsL.cn
http://6JrfH0X7.nrxsL.cn
http://0f7GOY9F.nrxsL.cn
http://5XIddGgr.nrxsL.cn
http://XkUseGgh.nrxsL.cn
http://w3JVZ6Ru.nrxsL.cn
http://CSLjg6Kz.nrxsL.cn
http://1gcB2omb.nrxsL.cn
http://cwDNmOfz.nrxsL.cn
http://EstVRIcY.nrxsL.cn
http://44YLX8Jm.nrxsL.cn
http://yKK2MVHT.nrxsL.cn
http://Gi3sBkLG.nrxsL.cn
http://6WHDuVtj.nrxsL.cn
http://Bebm4G1N.nrxsL.cn
http://ao6lbiCu.nrxsL.cn
http://b2mWcl80.nrxsL.cn
http://lbRwVDAd.nrxsL.cn
http://ZDoJ0H6z.nrxsL.cn
http://www.dtcms.com/a/383077.html

相关文章:

  • 【抗量子安全】全球视角下 PQC 与 QKD 技术洞察:政策引领与产业演进
  • 代码随想录学习摘抄day9(回溯1-11)
  • 数据处理指令
  • SpringBoot 中 ZK 与 Kafka 节点选择逻辑:底层原理与实践解析
  • 事务与mysql数据库锁的关系
  • 继承类模板:函数未在模板定义上下文中声明,只能通过实例化上下文中参数相关的查找找到
  • 07-Redis 基础操作全攻略:从键管理到数据类型判断
  • 【linux】特殊权限
  • [数据结构] 排序
  • Python网络与多任务编程:TCP/UDP实战指南
  • Elasticsearch面试精讲 Day 17:查询性能调优实践
  • Go-zero 构建 RPC 与 API 服务全流程
  • CRI容器运行时接口
  • 《Python 自动化表单填写全攻略:从基础操作到实战案例》
  • 黑马程序员JVM基础学习笔记
  • 驰骋低代码BPM开发平台的组成部分
  • ubuntu22.04源码安装ffmpeg-4.4
  • 黑马Java进阶教程,全面剖析Java多线程编程,并发和并行,笔记02
  • 大数据毕业设计选题推荐-基于大数据的教育与职业成功关系可视化分析系统-Spark-Hadoop-Bigdata
  • Ubuntu Server 安装图形界面和通过Window远程桌面连接服务器(Xrdp)
  • 贪心算法在云计算虚拟机部署问题中的应用
  • macOS中找不到钥匙串访问
  • 基于FPGA实现LeNet-5(经典CNN识别手写数字)推理
  • 算法-双指针5.6
  • Eino Indexer 组件完全指南
  • 算法-双指针3.4
  • 【开题答辩全过程】以 “旧书驿站”微信小程序的设计与开发为例,包含答辩的问题和答案
  • Altium Designer使用精通教程 第七章(PCB输出)
  • 【秋招笔试】2025.09.13美团秋招算法岗真题\
  • LeetCode 2367.等差三元组的数目