系统焦点view/window分配流程

RootWindowContainer#performSurfacePlacement ->

    WindowManagerService#updateFocusedWindowLocked ->

    RootWindowContainer#updateFocusedWindowLocked ->

    DisplayContent#findFocusedWindowIfNeeded ->

    InputMonitor#updateInputWindowsLw ->

    SurfaceControl#setFocusedWindow ->

    SurfaceFlinger#... -> InputDispatcher#setInputWindowsLocked


堆栈:

at com.android.server.wm.WindowManagerService.updateFocusedWindowLocked(WindowManagerService.java:6590)

    at com.android.server.wm.ActivityRecord.commitVisibility(ActivityRecord.java:6171)

    at com.android.server.wm.ActivityRecord.commitVisibility(ActivityRecord.java:6182)

    at com.android.server.wm.ActivityRecord.setVisibility(ActivityRecord.java:6062)

    at com.android.server.wm.ActivityRecord.setVisibility(ActivityRecord.java:5885)

    at com.android.server.wm.ActivityRecord.completeResumeLocked(ActivityRecord.java:7005)

    at com.android.server.wm.TaskFragment.resumeTopActivity(TaskFragment.java:1648)

    at com.android.server.wm.Task.resumeTopActivityInnerLocked(Task.java:5901)

    at com.android.server.wm.ActivityRecord.makeActiveIfNeeded(ActivityRecord.java:6831)

    at com.android.server.wm.RootWindowContainer.lambda$resumeFocusedTasksTopActivities$18(RootWindowContainer.java:2566)

    at com.android.server.wm.RootWindowContainer$$ExternalSyntheticLambda17.accept(Unknown Source:15)

    at com.android.server.wm.WindowContainer.forAllRootTasks(WindowContainer.java:2158)

    at com.android.server.wm.RootWindowContainer.resumeFocusedTasksTopActivities(RootWindowContainer.java:2542)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容