跳到主要内容

简述什么是WindowManager ?

参考答案:

WindowManager是Android系统中的一个重要组件,它是一个接口类,继承自ViewManager。它的主要作用是管理应用程序窗口的显示和布局,确保窗口按正确顺序叠放,以便用户与它们交互。WindowManager负责管理窗口的一些状态、属性,包括view的增加、删除、更新、窗口顺序等,以及消息收集和处理等任务。

在Android中,真正展示给用户的是窗口(Window)和视图(View),而Activity主要处理一些逻辑问题,如生命周期管理及建立窗口。WindowManager并不是整个系统的窗口管理器,而是所在应用进程的窗口管理器。系统全局的窗口管理器运行在SystemServer进程中,是一个Service。

当需要对Window进行添加、更新和删除操作时,可以使用WindowManager。WindowManager会将具体的工作交由WindowManagerService(WMS)来处理,而WindowManager和WMS通过Binder来进行跨进程通信。

总的来说,WindowManager在Android系统中扮演着关键角色,它确保了应用程序窗口的正确显示和布局,使得用户能够顺利与应用程序进行交互。