android3.x事件输入流程涉及的代码调用过程简要

本文深入探讨了Java中输入管理与事件处理的核心机制,包括WindowManagerService、InputManager等关键类的作用与交互流程,重点阐述了如何通过KernelInputDispatcher进行事件分发与通知,为开发者提供了一套高效管理输入事件的技术方案。

Windowmanagerservice.java PhoneWindowManger.java---interceptKeyBeforeQueueing
| |
InputManagner.java ------------------ InputMonitor.java
|JAVA-->C++ |C++-->JAVA
com_android_server_inputManager.cpp--------|
|
inputManager.cpp
|------------------------------|
inputDispatcher.cpp InputReader.cpp
|
EventHub.cpp
|
kernel


inputDispatcher.cpp的函数notifyKey调用enqueueInboundEventLocked函数构造keyEntry并加入队列。
fillTaskInfo:3442, Task (com.android.server.wm) fillTaskInfo:3430, Task (com.android.server.wm) fillTaskInfo:3426, Task (com.android.server.wm) dispatchTaskInfoChanged:298, TaskOrganizerController$TaskOrganizerPendingEventsQueue (com.android.server.wm) -$$Nest$mdispatchTaskInfoChanged:0, TaskOrganizerController$TaskOrganizerPendingEventsQueue (com.android.server.wm) onTaskInfoChanged:958, TaskOrganizerController (com.android.server.wm) dispatchTaskInfoChangedIfNeeded:6408, Task (com.android.server.wm) reportDescendantOrientationChangeIfNeeded:8594, ActivityRecord (com.android.server.wm) ensureVisibilityAndConfig:1872, RootWindowContainer (com.android.server.wm) resumeTopActivity:1682, TaskFragment (com.android.server.wm) resumeTopActivityInnerLocked:5294, Task (com.android.server.wm) resumeTopActivityUncheckedLocked:5224, Task (com.android.server.wm) resumeTopActivityUncheckedLocked:5275, Task (com.android.server.wm) makeActiveIfNeeded:6692, ActivityRecord (com.android.server.wm) lambda$resumeFocusedTasksTopActivities$17:2645, RootWindowContainer (com.android.server.wm) $r8$lambda$PwCcrdMj0pQ9-CVKpa3VvQFzEcQ:0, RootWindowContainer (com.android.server.wm) accept:0, RootWindowContainer$$ExternalSyntheticLambda39 (com.android.server.wm) forAllRootTasks:3186, Task (com.android.server.wm) forAllRootTasks:2285, WindowContainer (com.android.server.wm) forAllRootTasks:2285, WindowContainer (com.android.server.wm) forAllRootTasks:2285, WindowContainer (com.android.server.wm) forAllRootTasks:2285, WindowContainer (com.android.server.wm) forAllRootTasks:2285, WindowContainer (com.android.server.wm) forAllRootTasks:2285, WindowContainer (com.android.server.wm) forAllRootTasks:2277, WindowContainer (com.android.server.wm) resumeFocusedTasksTopActivities:2627, RootWindowContainer (com.android.server.wm) resumeFocusedTasksTopActivities:2604, RootWindowContainer (com.android.server.wm) resumeFocusedTasksTopActivities:2599, RootWindowContainer (com.android.server.wm) keyguardGoingAway:325, KeyguardController (com.android.server.wm) lambda$keyguardGoingAway$8:3731, ActivityTaskManagerService (com.android.server.wm) $r8$lambda$Zz-8IUNSjCt8DdVMNFBdKQQUdEE:0, ActivityTaskManagerService (com.android.server.wm) accept:0, ActivityTaskManagerService$$ExternalSyntheticLambda16 (com.android.server.wm) forAllDisplays:1299, RootWindowContainer (com.android.server.wm) keyguardGoingAway:3730, ActivityTaskManagerService (com.android.server.wm) onTransact:1757, IActivityTaskManager$Stub (android.app) onTransact:5826, ActivityTaskManagerService (com.android.server.wm) execTransactInternal:1500, Binder (android.os) execTransact:1444, Binder (android.os)
最新发布
09-14
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值