Android 核心分析之十二Android GEWS窗口管理之基本架构原理

本文详细阐述了Android窗口管理的核心机制,包括窗口、装饰视图、视图根与窗口管理服务之间的交互流程,以及如何通过Activity与WindowManager建立连接。深入理解这些原理对于开发高效、稳定的Android应用至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Android GWES之窗口管理之基本构架原理

  Android的窗口管理是C/S模式的。Android中的Window是表示Top Level等顶级窗口的概念。DecorView是Window的Top-Level View,这个View我称之为主View,DecorView会缺省的attach到Activity的主窗口中。主View被加入到WindowManager中,WM使用WindowState与这个主View对应。
                     

321.jpg (9.59 KB, 下载次数: 0)

下载附件  保存到相册

2012-3-19 11:48 上传

 



  Activity建立一个主窗口后,在将主窗口添加到WindowManager时,首先要建立WindowManager代理对象,并打开一个会话(实现IWindowSession AIDL接口),并维持该会话。Activity将通过该会话与WindowManager建立联系,这个Session是C/S体系的基础,Client通过WindowSession将window加入到Window Manager中。一个完整的窗口概念横跨了View,ViewRoot,WindowManager Service。Window,DecorView,View,IWindow ,ISession,WindowState之间的关系如下:

                  

654.jpg (15.11 KB, 下载次数: 0)

下载附件  保存到相册

2012-3-19 11:49 上传

 



  客户端的Activity通过Session会话与WindowManager建立对话,而WindowManager则通过IWindow接口访问Client,将消息传递到Client端,通过消息分发渠道,将消息传递到处理函数OnXXX。

  后面我们将通过Client,WM Service分别加以分析。

 

 

 

转载于:https://www.cnblogs.com/kingshow123/p/androidcore12.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值