Android 系统框架结构

 目录

1.应用层(System Apps):

2.应用框架层(Java API Framework):

3.系统运行库层(Native):

4.硬件抽象层(HAL):

5.Linux内核层(Linux Kernel):


        大部分开发的同学是不太清楚Android的系统的基本架构的,特别是应用层开发的同学,故经过该文章的介绍,希望同学们对Android的架构有基本的认识。

         类似于网络的五层结构,Android系统结构也有着其五层结构,从底层到上层是一个把硬件抽象化,然后再接口化以及应用调用接口的过程。

        由上层至下层的共分为五层,依次是应用层,应用框架层,系统运行库层,硬件抽象层和Linux内核层,结构图如下所示:

1.应用层(System Apps):

        我们开发者开发的应用就是属于这一层,应用层是整个Android系统的最上层,该层包含核心的系统应用、输入法以及第三方应用等。

2.应用框架层(Java API Framework):

        应用框架层是一层衔接层,衔接再下一层的C/C++程序资源库层与应用层,应用层通过应用框架层可以调用到底层的C/C++库层。应用框架层给应用层提供调用接口API,这一层是由java代码编写的,可以称为java Framework。

框架层有以下内容:

Android manager(活动管理器):

        管理各个应用程序的生命周期;

Location Manager (位置管理器):

        提供定位功能服务;

package manager (包管理器) :

        管理安装再Android系统中的所有应用程序;

Notification manager(通知管理器):

        管理状态栏自定义提示信息;

Resource manager(资源管理器):

        管理除了代码之外的一系列资源,例如图片,布局文件,颜色文件等资源;

Telephony manager(电话管理器):

        管理移动设备功能;

Window Manager(窗口管理器):

        管理所有开启了窗口的程序;

Content Provider (内容提供器):

        使不同应用程序之间可以共享数据;

View System (视图系统) :

        构建应用程序基本组件;

3.系统运行库层(Native):

        该层分为两部分,分别是C/C++程序库和Android运行时库。

(1)C/C++程序库

        C/C++程序库能被Android系统中的不同组件所使用,并通过应用框架层这一衔接层向上给应用层提供服务。

(2)Android 运行时库(Android Runtime)

        运行时库分为核心库和ART,核心库集成了java语言核心库的大多数功能,因此可以使用开发者可以使用java语言编写Android应用。在ART机制下,系统在安装应用的时候就会进行一次预编译,将字节码预先编译成机器码并存储在本地中,这样在应用每次运行启动时就不需要再去执行编译了,大大提高了效率。

4.硬件抽象层(HAL):

        该层是位于操作系统和硬件之间的接口层,该硬件接口层将硬件抽象化,使用某个硬件功能的时候不必知道其具体硬件,该层的存在为操作系统提供了虚拟硬件平台,可在多种平台上进行移植。

5.Linux内核层(Linux Kernel):

        Android的核心服务是基于Linux内核的,并在linux的基础上添加了一些Android专用的驱动。Android系统的安全性、内存管理、进程管理、网络协议栈和驱动模型等都需要依赖该内核。

猜你喜欢

转载自blog.csdn.net/weixin_42433094/article/details/127314911