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

在这里插入图片描述

2 Window说明

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

在这里插入图片描述
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模板
在这里插入图片描述
Activity是通过setContentView把布局设置到DecorView中,那么DecorView本身的布局,就成为了Activity界面的背景。同时DecorView是分为标题栏和内容两部分,所以也可以可界面设置标题栏。同时,由于我们的界面是添加在的DecorView中,属于DecorView的一部分。那么对于DecorView的window属性设置也会对我们的布局界面生效。
第二、抽离Activity中关于window的逻辑。

3 window创建

TODO

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值