专栏名称: 鸿洋
你好,欢迎关注鸿洋的公众号,每天为您推送高质量文章,让你每天都能涨知识。点击历史消息,查看所有已推送的文章,喜欢可以置顶本公众号。此外,本公众号支持投稿,如果你有原创的文章,希望通过本公众号发布,欢迎投稿。
今天看啥  ›  专栏  ›  鸿洋

Android14 WMS/AMS 窗口层级结构解析

鸿洋  · 公众号  · android  · 2024-09-19 08:35
    

主要观点总结

本文详细介绍了Android中图层和窗口容器树的概念。图层可以理解为一张透明的纸,将图像的各部分绘制在不同的透明纸上,并可以独立编辑或修改。Android的显示界面由多个窗口组成,每个窗口都对应一个图层,并通过窗口容器树进行组织。窗口容器树中的每个节点都是窗口容器的子类,而窗口状态(WindowState)对应一个应用侧的窗口。文章还详细解释了窗口容器树中的关键节点,如WindowToken、ActivityRecord、WallpaperWindowToken、Task、DisplayArea等,并给出了如何查看和可视化窗口容器树的方法。最后,文章推荐了一个关于Android开发的网站。

关键观点总结

关键观点1: 图层概念

图层可以理解为一张透明的纸,图像的各部分绘制在不同的透明纸上,并可以独立编辑或修改。

关键观点2: 窗口容器树

Android的显示界面由多个窗口组成,并通过窗口容器树进行组织。窗口容器树中的每个节点都是窗口容器的子类,而窗口状态(WindowState)对应一个应用侧的窗口。

关键观点3: 关键节点

文章详细解释了窗口容器树中的关键节点,如WindowToken、ActivityRecord、WallpaperWindowToken、Task、DisplayArea等,并给出了如何查看和可视化窗口容器树的方法。

关键观点4: 网站推荐

文章最后推荐了一个关于Android开发的网站,提供详尽的知识体系、好用的工具,还有本公众号文章合集。


文章预览

理解图层   (图片来自 https://www.jianshu.com/p/b0ef7c04486d) 在很多的图形相关的软件中都有图层的概念,那什么是图层呢? 简单的说,可以将每个图层理解为一张透明的纸,将图像的各部分绘制在不同的透明纸(图层)上。透过这层纸,可以看到纸后面的东西,而且每层纸都是独立的,无论在这层纸上如何涂画,都不会影响到其他图层中的图像。也就是说,每个图层可以独立编辑或修改,最后将透明纸叠加起来,从上向下俯瞰,即可得到并实时改变最终的合成效果。 1 显示界面的组成与描述 在 Android 中,一个显示界面由多个窗口(Window)组成。   从应用侧看 : statusbar 占据一个窗口 navigationbar 占据一个窗口 Activity 占据一个窗口 Wallpaper,也就是壁纸占据一个窗口 ...... 如果屏幕是一张画布,那么一个个窗口,就是一个个图层,不同的图层有不同的高 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览