赞
踩
目录
大部分开发的同学是不太清楚Android的系统的基本架构的,特别是应用层开发的同学,故经过该文章的介绍,希望同学们对Android的架构有基本的认识。
类似于网络的五层结构,Android系统结构也有着其五层结构,从底层到上层是一个把硬件抽象化,然后再接口化以及应用调用接口的过程。
由上层至下层的共分为五层,依次是应用层,应用框架层,系统运行库层,硬件抽象层和Linux内核层,结构图如下所示:
我们开发者开发的应用就是属于这一层,应用层是整个Android系统的最上层,该层包含核心的系统应用、输入法以及第三方应用等。
应用框架层是一层衔接层,衔接再下一层的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 (视图系统) :
构建应用程序基本组件;
该层分为两部分,分别是C/C++程序库和Android运行时库。
(1)C/C++程序库
C/C++程序库能被Android系统中的不同组件所使用,并通过应用框架层这一衔接层向上给应用层提供服务。
(2)Android 运行时库(Android Runtime)
运行时库分为核心库和ART,核心库集成了java语言核心库的大多数功能,因此可以使用开发者可以使用java语言编写Android应用。在ART机制下,系统在安装应用的时候就会进行一次预编译,将字节码预先编译成机器码并存储在本地中,这样在应用每次运行启动时就不需要再去执行编译了,大大提高了效率。
该层是位于操作系统和硬件之间的接口层,该硬件接口层将硬件抽象化,使用某个硬件功能的时候不必知道其具体硬件,该层的存在为操作系统提供了虚拟硬件平台,可在多种平台上进行移植。
Android的核心服务是基于Linux内核的,并在linux的基础上添加了一些Android专用的驱动。Android系统的安全性、内存管理、进程管理、网络协议栈和驱动模型等都需要依赖该内核。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。