android基础学习

从上面的描述就可以知道,每一个Activity组件都有一个对应的ViewRoot对象、View对象以及WindowManager.LayoutParams对象。这三个对象的对应关系是由WindowManagerImpl类来维护的。具体来说,就是由WindowManagerImpl类的成员变量mRoots、mViews和mParams所描述的三个数组来维护的。例如,假设一个应用程序进程运行有两个Activity组件,那么WindowManagerImpl类的成员变量mRoots、mViews和mParams所描述的三个数组的大小就等于2,其中,mRoots0、mViews0和mParams0对应于第一个启动的Activity组件,而mRoots1、mViews1和mParams1对应于第二个启动的Activity组件。
Android应用程序窗口(Activity)实现框架简要介绍和学习计划_android创建c++层窗口-CSDN博客

在WindowManagerService服务中,每一个Android应用程序进程都对应有一个SurfaceComposerClient对象。由于每一个SurfaceComposerClient对象都关联有一个SurfaceSession对象,因此,我们又可以推断出每一个Android应用程序进程在WindowManagerService服务中都对应有一个SurfaceSession对象。由于每一个SurfaceSession对象所属的Session对象是一个Binder本地对象,并且它的Binder代理对象是保存在Android应用程序进程这一侧的ViewRoot类的静态成员变量sWindowSession中,因此,我们又可以推断出每一个Android应用程序进程在WindowManagerService服务都有一个对应的Session对象。综合起来就是,每一个Android应用程序进程在WindowManagerService服务这一侧对应有一个Session对象、一个SurfaceSession对象以及一个SurfaceComposerClient对象。由于每一个Android应用程序进程都可以运行若干个Activity组件,因此,我们又可以说,Activity组件与WindowServiceManager服务这一侧的Session对象、SurfaceSession对象以及SurfaceComposerClient对象是多对一的关系。

相关推荐
aWty_5 分钟前
实分析入门(12)--可测函数
学习·数学·算法·实变函数
词元Max21 分钟前
4.1 监督学习入门:线性回归与分类
学习·分类·线性回归
-To be number.wan26 分钟前
计算机组成原理 | 位扩展、字扩展与片选逻辑
学习·计算机组成原理
小烤箱34 分钟前
ROS2 学习资源与学习方法
学习·ros·学习方法·ros2
casual~1 小时前
十六届蓝桥杯国赛个人题解
经验分享·学习·算法·蓝桥杯
小陈phd1 小时前
多模态大模型学习笔记(四十六)——图像-文本生成(Image-Text Generation):跨模态创作与语义互通
笔记·学习·计算机视觉
噜噜噜阿鲁~1 小时前
python学习笔记 | 11.4、面向对象高级编程-定制类
笔记·python·学习
黄林晴1 小时前
Google Play 全面进化:AI 驱动增长,从上架到收入全链路重构
android·google
爱喝水的鱼丶2 小时前
SAP-ABAP:SAP 简单报表输出开发系列(共6篇) 第五篇:SAP 报表多格式输出:Excel/PDF 批量导出功能实现
学习·性能优化·pdf·excel·sap·abap