Android是什么?

      Android是一个为移动设备准备的,包含有操作系统、中间件和基本应用的软件聚集地。Android SDK提供了使用Java语言在Android平台上进行开发应用程序的必备的工具盒APIS。


特征

  •       应用程序框架使组件可以重用和替换
  •       DVM(Dalvik virtual machine)针对移动设备进行了优化
  •       集成的浏览器基于开源的Webkit引擎
  •       优化的图层由一个可定制的2D图层库提供;3D图层基于OpenGL ES 1.0规范(可选的硬件加速)
  •       SQLite提供了结构化的数据存储
  •       媒体支持,包括通常的音频、视频和静态图像格式 (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
  •       GSM 电话(硬件依赖)      
  •       蓝牙、EDGE、3G和WiFi(硬件依赖)
  •       相机、GPS、指南针和加速度计(硬件依赖)
  •       丰富的开发环境,包括一个设备模拟器、调试工具、存储和性能分析以及Eclipse插件

Android架构

      下图展示了Android操作系统的主要组件,以下内容对每一部分进行了详尽的描述。

      Android体系结构


应用程序

      Android会随机携带一系列的核心应用,包括:email客户端、短信程序、日历、地图、浏览器、联系人以及其他应用。所有的应用都是用java语言编写。


应用程序框架

      开发人员可以和核心应用一样完全访问框架的APIS,应用架构就是为了组件能够方便的重用而设计的。任意的应用可以发布其功能,其他应用即可以使用其功能(框架增强了安全约束)。相同的机制允许用户替换组件。

      所有应用相关的是一系列服务和系统的集合,包括:

  •       一个丰富的和可扩展的,可以用来构建应用的view集,包括:lists、grids、text boxes、buttons,甚至包括一个内置的web浏览器
  •       Cotent Provider允许应用访问其他应用的数据(比如联系人),或者共享自己的数据。
  •       资源管理器,其提供了对非代码资源的访问,比如本地化的字符串、图片和布局文件。
  •       通知管理器,允许所用的应用在状态栏显示自定义的提示信息
  •       Activity Manager管理着应用的生命周期以及提供一个访问后台常见的方式。

      Android包含了android系统中各种组件使用的一系列的C/C++的库,这些功能通过应用程序框架,全部暴露给开发人员。以下内容列出了一部分核心库:

  •       系统C程序库-一个从BSD派生出的标准的C语言系统库的实现,保证和内嵌的基于linux的设备的兼容
  •       媒体库-基于PacketVideo's OpenCORE;其支持后边播放和许多常见格式的音频和视频的录制以及静态图片格式,包括:MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG。
  •       皮肤管理-其管理着对一个显示的子系统的访问以及多个应用之间2D和3D图层的无缝合成。
  •       LibWebCore-一个先进的支持android浏览器和内置web view的web浏览器引擎
  •       SGL-底层的2D图像引擎
  •       3D 库-一个基于OpenGL ES 1.0 APIs的实现;这个库或者使用硬件的3D加速器(可用时)或者使用内置的、高度优化的3D软件光栅
  •       FreeType-位图和矢量字体渲染
  •       SQLite-一个所有应用都可以使用的,给力的、轻量级的关系型数据库。


Android运行

      Android提供了一系列使用Java编程语言实现的核心库,其提供了大部分可用的功能。

      每一个Android应用运行在自己的进程中,在DVM中有自己的实例。Dalvik可以有效的运行多个VM,DVM中执行的是针对最小内存进行优化的.dex格式的文件。VM是基于寄存器的,内置的“dx”工具将从Java编译器编译的类转变为.dex格式的类,并且他们可以在VM中允许。

       DVM的底层功能比如线程和低层次的内存管理依赖于linux内核。


Linux内核

       Android的核心系统服务,比如:安全、内存管理、进程管理、网络协议栈以及驱动模型依赖于linux2.6.内核同样扮演着硬件和其余软件堆栈之间的抽象层。

 

 

 

     

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值