Android Framework -- WindowManagerService

本文详细探讨了Android的WindowManagerService,包括其窗口管理、窗口动画系统和作为输入系统中转站的角色。重点介绍了WindowManagerService如何管理窗口的生命周期、大小、层级顺序,以及与SurfaceFlinger的交互。此外,还涉及了应用Window(如Activity)、子Window和系统Window的类型,以及Activity的绘制流程和Surface的使用。
摘要由CSDN通过智能技术生成

WindowManagerService

WindowManagerSerivce有三个主要功能:
窗口管理系统:负责窗口的启动、添加、删除、大小、层级顺序等,它会为每个窗口分配一块Surface以供绘制。核心成员有DisplayContent、WindowToken、WindowState
窗口动画系统:窗口切换时的动画。核心成员:WindowAnimator、Choreographer
输入系统的中转站:从Android Framework – InputManagerService中我们知道输入事件起于InputManagerService及底层系统,由每个Window的RootViewImpl来接收处理,而在寻找接收的Window的时候自然需要WMS这个窗口管理者来协助并中转了。
这里写图片描述

PS:通过Android Framework–开机启动流程我们知道WMS是Android启动后期开了一个ServerThread线程来开启的各种服务之一,主要调用WindowManagerService.main()来实例化WMS

窗口管理系统

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android FrameworkAndroid系统中最核心的组件之一,它包含了大量的API和类库,提供了许多系统级别的功能和服务,如Activity管理、Intent机制、应用程序生命周期管理、资源管理、窗口管理、通知管理、媒体管理、数据存储、网络通讯等等。如果你想深入研究Android系统的内部,了解Android应用程序的基本运行机制,那么学习Android Framework开发将是一种非常好的方式。 下面是Android Framework开发的主要内容: 1. Activity管理:Activity是Android应用程序的核心组件之一,负责管理应用程序的界面显示和用户交互。在Android Framework中,Activity是由ActivityManagerService负责管理的,它提供了一系列的API和回调函数,使开发者可以方便地管理Activity的生命周期、启动和销毁Activity、处理Activity之间的通信等等。 2. Intent机制:Intent是Android应用程序之间进行通信的重要机制之一,也是Android Framework中的核心组件之一。通过Intent,应用程序可以启动其他应用程序、传递数据、获取系统服务等等。在Android Framework中,Intent是由ActivityManagerService和PackageManagerService共同管理的,它们提供了一系列的API和回调函数,使开发者可以方便地使用Intent机制完成各种功能。 3. 应用程序生命周期管理:Android应用程序的生命周期非常复杂,它涉及到应用程序的启动、运行、暂停、恢复、停止和销毁等多个阶段。在Android Framework中,应用程序的生命周期是由ActivityManagerService和PackageManagerService共同管理的,它们提供了一系列的API和回调函数,使开发者可以方便地管理应用程序的生命周期。 4. 资源管理:在Android应用程序中,资源管理非常重要,它包括了应用程序的布局文件、字符串、图像、音频、视频等等。在Android Framework中,资源是由PackageManagerService负责管理的,它提供了一系列的API和回调函数,使开发者可以方便地访问和使用应用程序的资源。 5. 窗口管理:Android应用程序的窗口管理非常重要,它涉及到应用程序的界面显示和用户交互。在Android Framework中,窗口管理是由WindowManagerService负责管理的,它提供了一系列的API和回调函数,使开发者可以方便地管理应用程序的窗口。 6. 通知管理:Android应用程序的通知管理非常重要,它涉及到应用程序的消息提示和用户提醒。在Android Framework中,通知管理是由NotificationManagerService负责管理的,它提供了一系列的API和回调函数,使开发者可以方便地管理应用程序的通知。 7. 媒体管理:Android应用程序的媒体管理非常重要,它涉及到应用程序的音频、视频和图片等多媒体内容。在Android Framework中,媒体管理是由MediaProvider负责管理的,它提供了一系列的API和回调函数,使开发者可以方便地管理应用程序的媒体内容。 8. 数据存储:Android应用程序的数据存储非常重要,它涉及到应用程序的数据持久化和数据共享。在Android Framework中,数据存储是由ContentProvider和SharedPreferences负责管理的,它们提供了一系列的API和回调函数,使开发者可以方便地管理应用程序的数据。 9. 网络通讯:Android应用程序的网络通讯非常重要,它涉及到应用程序的网络连接和数据传输。在Android Framework中,网络通讯是由ConnectivityManager和TelephonyManager负责管理的,它们提供了一系列的API和回调函数,使开发者可以方便地管理应用程序的网络通讯。 总之,Android Framework开发是非常庞大和复杂的,需要开发者具备扎实的Java编程基础和深入的Android系统内部知识。如果你想成为一名优秀的Android开发者,那么学习Android Framework开发是非常必要的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值