Android系统架构

这里写图片描述

1.最底层(内核)
内核是linux内核,其核心系统服务如安全性、内存管理、进程管理、网路协议以及驱动模型都依赖于Linux内核。由上图可见内核中包含各种各样的驱动。也可说android是经过定制化的linux系统。所以一般山寨手机移植Android的时候,都会修改内核这一层。做android系统级别的开发,其实就是做linux系统的驱动开发。

2.中间层(C/C++库和daivik虚拟机)

这一层都是一些库,这些库是用c和c++语言写的,上层的java语言要用到这些库。任何一个操作系统除了底层的驱动以外,上层都会有一些库,这些库也是底层的库。这些库也叫系统库是应用程序框架的支撑,是连接应用程序框架层与Linux内核层的重要纽带。
Surface Manager:
执行多个应用程序时候,负责管理显示与存取操作间的互动,另外也负责2D绘图与3D绘图进行显示合成。
Media Framework:
多媒体库,基于PacketVideo OpenCore;支持多种常用的音频、视频格式录制和回放,编码格式包括MPEG4、MP3、H.264、AAC、ARM。
SQLite:
小型的关系型数据库引擎
OpenGL|ES:
根据OpenGL ES 1.0API标准实现的3D绘图函数库
FreeType:
提供点阵字与向量字的描绘与显示
WebKit:
一套网页浏览器的软件引擎
SGL:
底层的2D图形渲染引擎
SSL:
在Andorid上通信过程中实现握手
Libc:
从BSD继承来的标准C系统函数库,专门为基于embedded linux的设备定制

核心库 :
核心库提供了Java语言API中的大多数功能,同时也包含了Android的一些核心API,如android.os、android.net、android.media等等。
daivik虚拟机 :
这是Android发明的虚拟机,就是android按照自己的规范和标准做的一个java虚拟机,他和java的虚拟机不一样,因为如果一样的话会引起版权的纠纷,虽然java是开源的,但是sun被oracle收购后,java开始慢慢的变得不开放了。daivik和sun公司的java虚拟机是兼容的
daivik和jvm的不同点
a、sun公司的jvm中运行的是.class文件(字节码文件)。daivik中运行的是dex文件
b、daivik是为android量身定做的,在设计系统的时候就考虑了对java的支持,所以daivik对底层的访问更深入。而普通的jvm他在linux和windows是应用软件级别的,因为在设计windows和linux的时候并不会考虑到要支持java,所以对底层的访问不是很深。
专业一点:jvm运行的时候是基于栈的,daivik是基于寄存器(cpu里面的内存)的

3.应用程序框架层

是java语言写的,是一些系统为java程序员提供的API类库。
应用程序框架层是我们从事Android开发的基础,很多核心应用程序也是通过这一层来实现其核心功能的,该层简化了组件的重用,开发人员可以直接使用其提 供的组件来进行快速的应用程序开发,也可以通过继承而实现个性化的拓展。
Activity Manager(活动管理器)
Window Manager(窗口管理器)
Content Provider(内容提供器)
View System(视图系统)
Notification Manager(通告管理器)
Package Manager(包管理器)
Telephony Manager(电话管理器)
Resource Manager(资源管理器)
Location Manager(位置管理器)
XMPP Service(XMPP服务)

4.应用程序层

Android平台不仅仅是操作系统,也包含了许多应用程序,诸如SMS短信客户端程序、电话拨号程序、图片浏览器、Web浏览器等应用程序。这些应用程序都是用Java语言编写的,并且这些应用程序都是可以被开发人员开发的其他应用程序所替换,这点不同于其他手机操作系统固化在系统内部的系统软件,更加灵活和个性化。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值