首先Android是一个开放的移动设备平台,包括操作系统,中间件和关键应用软件堆栈。基于Linux内核的软件平台和操作系统,是Google2007115日公布的手机系统平台,早期由Google开发,后由开放手机联盟(OpenHandsetAlliance)开发。它采用了软件堆层(softwarestack,又名以软件叠层)的架构,主要分为三部分。低层以Linux内核工作为基础,只提供基本功能;其他的应用软件则由各公司自行开发Java作为编写程序的一部分。之后Android提供了NDK以供开发者使用其他语言编写程序。另外,为了推广此技术,Google和其他几十个手机公司创建了开放手机联盟。Android在未公开之前常被传闻为Google电话或gPhone。大多传闻认为Google开发的是自己的手机电话产品,而不是一套软件平台。到了20101月,Google始发表自家品牌手机电话的NexusOne它有以下特点:

·应用程序框架,使组件的重用和替换

·Dalvik虚拟机为移动设备优化

·集成浏览器基于开源的WebKit引擎

·优化的图形,通过自定义的2D图形库供电;基于3D图形的OpenGLES1.0规范(硬件加速可选)

·SQLite为结构化数据存储

·媒体支持常见的音频,视频和静止图像格式(MPEG4H.264MP3AACAMRJPGPNGGIF

·GSM电话(依赖于硬件)

·蓝牙,EDGE3GWiFi(依赖于硬件)

·摄像头,GPS,指南针,和加速度计(依赖于硬件)

·丰富的开发环境,包括设备模拟器,调试,内存和性能分析工具,和一个用于EclipseIDE插件

该系统被成功运用到了手机,平板电脑,彩电,GPS导航,车载电视等设备上。

Android架构


应用

Android核心应用,包括电子邮件客户端,SMS程序,日历,地图,浏览器,联系人,和其他应用。所有应用程序都使用Java编程语言编写的。

应用框架

通过提供一个开放的开发平台。开发者可以自由的开发丰富的应用程序,开发人员可以完全访问核心应用中使用相同的框架API。应用程序的架构设计简化了组件的重用,任何应用都可以发布它的功能并且能够使用任何其他应用程序功能。

应用库

Android包含一套C/C++Android系统的各个组成部分所使用的库。这些功能通过Android应用程序框架暴露给开发者。下面列出了一些核心库:

·系统C-一个标准C系统库,为嵌入式的基于Linux的设备

·媒体库-基于PacketVideoOpenCORE;支持许多流行的音频和视频格式的播放和录音,以及静态图像文件,包括MPEG4H.264,支持MP3AACAMRJPGPNG

·视图管理器-管理多个应用程序,显示子系统和2D3D图形层的访问

·LibWebCore-一个现代的Web浏览器的引擎SGL-底层的2D图形引擎

·3D-基于OpenGLES1.0API的基础上实现;使用或者硬件3D加速(如果可用)或所包含的,高度优化的3D

·FreeType-位图和矢量字体渲染

·SQLite-所有的应用程序提供的一个强大的和轻量级的关系数据库引擎

Android的运行环境

每个Android应用都运行在它自己的进程中,拥有自己的Dalvik虚拟机实例。Dalvik被设计可以有效地运行多个虚拟机。Dalvik虚拟机执行的Dalvik可执行文件(。DEX)格式,这是最小的内存占用优化文件。VM是基于寄存器的,并运行由Java语言的编译器,编译成.dex文件的编译类。Dalvik虚拟机依赖于Linux内核

Linux内核

Android的核心系统服务,如安全,内存管理,进程管理,网络堆栈和驱动程序模型依赖在Linux2.6版本。内核也作为硬件和软件堆栈的其余部分之间的抽象层。

---------------------------------------------------------------------------------------------

Android版本发行

Android系统基本上每半年一次的升级,分别定在每年的夏天和年终。每代Android系统都将以甜点命名.比如:

1.5版叫做Cupcake(纸杯蛋糕)

1.6版为Donut(甜甜圈)

2.1版的Eclair(闪电泡芙,一种法式奶油夹心甜点),此版本曾被叫做Flan“水果馅饼,之后是

2.2版的Froyo(冻酸奶)

2.3版的Gingerbread(姜饼).

CDEFG字头顺序排列.



更多相关文章

  1. Android系统深度游
  2. AndroidO audio系统之框架简介(一)
  3. Android(安卓)踩坑——FloatingActionButton自动添加边距
  4. activity 启动流程分析
  5. 如何搭建简易蓝牙定位系统
  6. 130292015012 陈月凤 第一章作业
  7. Android系统内存管理的问题
  8. Android(安卓)运行 C/C++程序 (使用 arm-linux-gcc 交叉编译环境
  9. Android(安卓)机器人:使用系统资源

随机推荐

  1. Android照相机竖屏研究引导
  2. Android studio Error: Please select An
  3. Android设备通过USB线连接PC进行Socket通
  4. Android平台值得关注的开源项目
  5. kotlin笔记 一
  6. ANDROID 中handler类的使用
  7. Android中通过Messenger与Service实现进
  8. android 7.0平台客制化虚拟导航按键(隐藏
  9. 浅谈Android事件分发机制
  10. android字符太长自动变成省略号