前言
在使用Android12为车机系统载体进行系统SystemUI开发的过程中发现一个很奇特的问题,当不同页面发生切换的时候,导航栏总是会闪一下,其实就是窗口焦点发生变化的时候,导航栏总是会消失一下再出现,虽然问题不是很严重,但这对于用户体验来说是极差的,本篇文章我们就来梳理一下为什么会出现这种现象。
一、窗口焦点发生变化
1、当窗口焦点发生变化的时候,首先会触发WindowManagerService的updateFocusedWindowLocked方法。
frameworks/base/services/core/java/com/android/server/wm/WindowManagerService.java
public class WindowManagerService extends IWindowManager.Stub implements Watchdog.Monitor,