您的位置:首页 > 移动开发 > Android开发

2. Android系统结构

2015-09-12 22:06 274 查看
和Qt是一种框架不同,Android是一个完整的系统。下图是一张Android系统的截图。



1、Linux 内核层

Android是基于Linux内核的,其核心系统服务,比如如安全、内存管理、进程管理、网路协议以及驱动模型都依赖于这一层。由C和少量汇编编写。

2、库

运行在内核之上,这一层是C/C++的天下。包含了各种C/C++核心库,媒体库,SGL和OpenGL的图形库,SQL,SSL,网络库。

3、Android运行时,严格来说上述两层和Android没有很强的关系,只是为Android提供一些基础支持。通过Android运行时,把上述两层和”“真正的Android”“连接起来。Android运行时包括Android核心库和Dalvik虚拟机,为应用程序提供“引擎”。Android核心库提供了JAVA核心库和Android特定库。Dalvik虚拟机是一个为移动设备定制的JAVA虚拟机,基于寄存器(从应用程序包含的R.java文件可以看出,资源用数字编号,从而实现快速定位)。从Android4.4开始,因为Dalvik效率问题,一种称做ART虚拟机开始试图取代Dalvik虚拟机。关于Dalvik和ART的优劣对比,会在另一篇关于Android应用程序的编译和启动过程的文章中出现。

4、应用程序框架,编写Android应用程序所需要的类,由这一层提供。在这一层提供了应用程序访问硬件的接口抽象。管理用户界面和应用程序资源(废话,应用程序类就是这一层提供的,当然要负责)。

5、应用层,和普通用户打交道的地方。包括原生的和第三方的。使用应用程序框架提供的各种资源,运行在Android运行时内。

个人博客总目录

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: