1
Android系统架构图:




分析:

第一层:Linux操作系统和驱动(Linux kernel):C语言实现。

Android核心系统服务依赖于Linux2.6内核,包括:安全性、内存管理、进程管理、网络协议、驱动模型Linux内核也作为硬件和软件栈之间的抽象层。

除了标准的Linux内核外,Android还增加了内核的驱动程序:Binder(IPC)驱动、显示驱动、输入设备驱动、音频系统驱动、摄像头驱动、WiFi驱动、蓝牙驱动、电源管理。

第二层:本地框架和Java运行环境(LIBRARIESANDROID RUNTIME)

本地框架是有C/C++实现。包含C/C++库,被Android系统中不同组件使用,它们通过Android应用程序框架为开发者进行服务。

系统C(libc)BSD继承过来的标准的C系统函数库,专门是为基于嵌入式Linux的设备定制的库。

多媒体库:基于PackerVideoOpenCore;该库支持多种常用的音频、视频格式回放和录制,支持多种媒体格式的编和解码格式。

Suface Manager:显示子系统管理器,并且为多个应用程序提供2D3D图层的无缝融合。

LibWebCore:一个最新的Web浏览器引擎,支持Android浏览器,以及一个可嵌入式的Web视图。

SGLSkia图形库,底层的2D图形引擎。

3D libraries:基于OpenGL ES1.0 API的实现;该库可以使用硬件3D加速(如果可用),或者使用高度优化的3D软加速。

FreeType:位图(bitmap)和矢量(vector)字体显示。

Android运行环境(ANDROID RUNTIME):提供了Java编程语言核心库的大多数功能,Dalvik Java虚拟机和基础的Java类库组成

DalvikAndroid中使用的Java虚拟机,每个Android应用程序都在自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。

Dalvik被设计成一个可以同时高效运行多个虚拟机实例的虚拟系统。执行后缀名为.dexDalvik可执行文件,该格式的文件

针对小内存使用做出了优化。同时虚拟机是基于寄存器的,所有的类都是有Java编译器编译,然后通过SDK中的“dx”工具

转化为.dex格式由虚拟机执行。

Dalvik虚拟机依赖于Linux内核的一些功能,比如线程机制和底层内存管理机制。

第三层:Android应用框架(ANDROIDFRAMEWORK)


Android系统中,开发人员也可以完全访问核心应用程序所使用的API框架。

包含的框架入上图(不在陈述)

第四层:Android应用程序(APPLICATIONS)

注意:Android应用程序都是有Java语言编写的。用户开发的Android应用程序和Android的核心应用程序是同一层次的,它们都是基于Android的系统API构建的。

更多相关文章

  1. Android(安卓)应用程序发布流程---碗豆荚发布流程
  2. Android_DDMS快速入门
  3. Android中service的使用
  4. 让Android应用程序申请获取ROOT权限
  5. 为Android应用程序添加社会化分享功能
  6. Android(安卓)Weekly - 第 183 期
  7. 【Android(安卓)C#开发】Xamarin环境搭建
  8. Android关键知识点详解
  9. 应用程序中捕获home按键事件

随机推荐

  1. 下载android sdk更新包离线安装解决方案
  2. Android实现按钮点击效果(第一次点击变色,
  3. Android网络请求库——android-async-htt
  4. Android 特殊用法
  5. 【翻译】(25)ANDROID ATOMICS OPERATIONS
  6. 几个android实用网站
  7. Android ListView滑动加载
  8. Android性能测试工具(一)之Emmagee
  9. Android(安卓)HandlerThread类,Bundle的使
  10. android简单的天气预报例子和XML解析