Android GUI 系统总结之Window

Android GUI 系统总结之Window

本文内容均来源于网络,总结起来方便复习

文章目录


网址
https://www.cnblogs.com/samchen2009/p/3364327.html
https://blog.csdn.net/qian520ao/article/details/78555397

1 AndroidGUI总结

转载
https://www.cnblogs.com/samchen2009/p/3364327.html

Android GUI 系统总结之Window

2 Window说明

转载
https://blog.csdn.net/weixin_43766753/article/details/108350589

Android GUI 系统总结之Window
window的实现类只有一个:PhoneWindow,他继承自Window抽象类。

WindowManager相关
windowManager就是window管理类。这一部分的关键类有windowManager,viewManager,windowManagerImpl,windowManagerGlobal。windowManager是一个接口,继承自viewManager。viewManager中包含了我们非常熟悉的三个接口:addView,removeView,updateView。
windowManagerImpl和PhoneWindow是成对出现的,前者负责管理后者。WindowManagerImpl是windowManager的实现类,但是他本身并没有真正实现逻辑,而是交给了WindowManagerGlobal。WindowManagerGlobal是全局单例,windowManagerImpl内部使用桥接模式,他是windowManager接口逻辑的真正实现

view相关
这里有个很关键的类:ViewRootImpl。每个view树都会有一个。当我使用windowManager的addView方法时,就会创建一个ViewRootImpl。ViewRootImpl的作用很关键:

负责连接view和window的桥梁事务
负责和WindowManagerService的联系
负责管理和绘制view树
事件的中转站
每个window都会有一个ViewRootImpl,viewRootImpl是负责绘制这个view树和window与view的桥梁
WindowManagerService
这个是window的真正管理者,类似于AMS(ActivityManagerService)管理四大组件。所有的window创建最终都要经过windowManagerService。整个Android的window机制中,WMS绝对是核心,他决定了屏幕所有的window该如何显示如何分发点击事件等等。

2-1 PhoneWindow作用

第一、提供DecorView模板
Android GUI 系统总结之Window
Activity是通过setContentView把布局设置到DecorView中,那么DecorView本身的布局,就成为了Activity界面的背景。同时DecorView是分为标题栏和内容两部分,所以也可以可界面设置标题栏。同时,由于我们的界面是添加在的DecorView中,属于DecorView的一部分。那么对于DecorView的window属性设置也会对我们的布局界面生效。
第二、抽离Activity中关于window的逻辑。

3 window创建

TODO

上一篇:Android 悬浮窗口


下一篇:设置应用全屏的几种方式