安卓手机Android N(7.0)多窗口功能介绍

在以往的Android系统上,所有Activity都是全屏的,如果不设置透明效果,一次只能看到一个Activity界面。

但是从Android N(7.0)版本开始,系统支持了多窗口功能。在有了多窗口支持之后,用户可以同时打开和看到多个应用的界面。并且系统还支持在多个应用之间进行拖拽。在大屏幕设备上,这一功能非常实用。

多窗口功能介绍

Android 从 Android N(7.0)版本开始引入了多窗口的功能。

Android N上的多窗口功能有三种模式:

1. 分屏模式

这种模式可以在手机上使用。该模式将屏幕一分为二,同时显示两个应用的界面。

2. 画中画模式

这种模式主要在TV上使用,在该模式下视频播放的窗口可以一直在最顶层显示。

3. Freeform模式

这种模式类似于我们常见的桌面操作系统,应用界面的窗口可以自由拖动和修改大小。

多窗口功能的实现

多窗口功能的实现主要依赖于ActivityManagerService与WindowManagerService这两个系统服务,它们都位于system_server进程中。该进程是Android系统中一个非常重要的系统进程。Framework中的很多服务都位于这个进程中。

整个Android的架构是CS的模型,应用程序是Client,而system_server进程就是对应的Server。

应用程序调用的很多API都会发送到system_server进程中对应的系统服务上进行处理,例如startActivity这个API,最终就是由ActivityManagerService进行处理。

而由于应用程序和system_server在各自独立的进程中运行,因此对于系统服务的请求需要通过Binder进行进程间通讯(IPC)来完成调用,以及调用结果的返回。