转自:编程艺术家Poechant的CSDN博客 http://blog.csdn.net/poechant


1、Android Architecture Overview




2、四层结构

应用层(Application Level),应用框架层(Application Frameworks),系统运行库层(Libraries and Android Runtime Level)和Linux内核层(Linux Kernel Level)。

(1)应用层

应用层包含众多有应用开发者开发的应用(这句话好绕啊⋯⋯),而且Google在开发Android时,也已经在应用层绑定了一些核心应用,比如Email客户端、SMS短消息程序、日历、地图、浏览器、联系人、电话、通话记录等。

(2)应用框架层

该层就是应用开发者所必须了解的开发时所需要使用的API。基于该层的应用开发,是相当容易的,开发者可以更多地将精力用在如何做好应用软件身上。应用框架层所提供的组件很多,包括活动管理器(Avtivity Manager)、窗口管理器(Window Manager)、内容提供器(Content Providers)、视图系统(View System)、包管理器(Package Manager)。

(3)系统运行库层

该层,是一些C/C++库,来提供底层的支持。主要包括Bionic系统C库(C语言标准库,系统最底层的库)、多媒体库(MediaFramework)、SGL(2D图形引擎库)、SSL(位于TCP/IP协议与各种应用层协议之间,提供数据通信支持)、OpenGL ES 1.0(3D效果支持)、SQLite(关系数据库)、Webkit(Web浏览器引擎)、FreeType(位图bitmap及矢量图vector)。

(4)Linux内核层

Android的Linux内核层是基于LInux Kernel 2.6版本。Linux内核层,主要是作为硬件和软件栈之间的抽象层。在软件栈视角看,Linux内核就是“硬件”。内核层提供如下一些驱动:显示驱动(Display Driver)、键盘驱动(Keyboard Driver)、Flash内存驱动(Flash Memory Driver)、照相机驱动(Camera Driver)、音频驱动(Audio Driver)、蓝牙驱动(Bluetooth Driver,基于IEEE 802.15.1)、WiFi驱动、Binder IPC驱动(Android的一个特殊驱动程序,具有单独的设备节点,提供进程间通信)、Power Management(电源管理)。


更多相关文章

  1. android判断当前系统用的是什么语言
  2. Android8.1 系统修改默认的wifi直连名字
  3. 判断当前网络是否可用和调用系统设置wifi界面
  4. Android 系统服务 - AMS 的启动过程
  5. 修改 ActivityManagerService.java 去掉 android 系统报错和程序
  6. Android系统源码极速搜索引擎(OpenGrok)
  7. 第一章 Android体系与系统架构

随机推荐

  1. Android界面设计适配不同屏幕的尺寸和密
  2. Android(安卓)相机的使用
  3. 史上最全面,最细的Android中layout建立子
  4. 新建Android(安卓)AVD,点击start、launch,
  5. 主题:四,android四大组件基础介绍及打电话,
  6. 内存问题
  7. 【Android(安卓)Training - 15】云同步的
  8. 学习android, 自己编的一个黑白棋游戏 (
  9. Mac下使用Eclipse实现Android中调用C/C++
  10. 【Android(安卓)API指南】动画和图像概述