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

Android是什么?

2010-02-21 14:48 232 查看

Android是什么?

Android就是一个给移动设备准备的软件百宝箱,它包含一个操作系统,中间软件和一些关键的应用程序。Android SDK提供必要的工具集和API以便使用Java程序语言在这个平台上开发应用程序。

特征

应用程序框架使组建的重用和更换成为可能。

Dalvik虚拟机 为移动设备做了优化。

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

优化图形 是以定制的二维图形库为驱动的;三维图形是基于OpenGL ES1.0规范(可选硬件加速)

SQLite文件型数据库提供结构化数据存储。

媒体支持提供通常的音频、视频和图片格式(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)。

全球通电话 (依赖硬件)。

蓝牙, EDGE, 3G, 和WiFi (依赖硬件)。

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

丰富的开发环境包括一个设备仿真器。调试、内存和性能分析工具,以及Eclipse集成开发环境插件。

Android架构

下面的简图显示了Android操作系统的主要组件。下面的每个章节描述了更详细的内容。



应用程序

Android将集成一批核心应用程序一起上市,包括一个电子邮件客户端,短信程序,日历,地图,浏览器,联系人管理,以及其它的应用程序。全部应用程序都是使用Java编程语言开发的。

应用程序框架

通过提供一个开放的开发平台,Android给开发者提供能力去创建非常丰富且具有创新的应用程序。开发者能够自由的利用硬件设备的优势,访问定位信息,运行后台服务,设置报警,以及给状态栏添加通知,等等。

开发者完全访问内核使用的框架API。应用程序框架设计的目的是简化组件的重用;任何应用程序都能够发布它所具有的能里,而且别的任何应用程序都利用这些能力(只要在框架强制约束的的安全前提下)。这个机制允许用户替换组件。

位于所有应用程序之下的基础是一些服务和系统程序集,包括:

丰富而容易扩展的Views集,它能用来创建应用,包括列表,表格,文本框,按钮,甚至是嵌入的Web浏览器。

内容提供器能够使应用程序访问别的应用程序(如联系人)的数据,或者让它共享数据。

一个资源管理器提供访问非代码资源的能力,如访问本地化字符串,图形和布局文件。

一个
通知管理器
能够使所有的应用程序在状态栏上呈现用户定制的报警。

一个
Activity管理器
管理应用程序的生命期,且提供一个普通的回退堆栈导航。

更多信息,一个应用程序逐步解说,参见记事本教程

Android包括一批c/c++库,它供Android操作系统的各种组件使用。这些能力都通过Android应用程序框架暴露给开发这使用。部分核心库列举如下:

操作系统C库 - 一个基于BSD实现的标准C的系统库(libc),供基于Linux的嵌入式设备使用。

媒体库-基于PacketVideo's OpenCORE;这些库支持许多流行音频和视频格式的回放和录制,包括静态图片文件;如: MPEG4, H.264, MP3, AAC, AMR, JPG, 和 PNG。

外观管理器-管理各种应用程序对显示子系统和二位与三维图形混合应用层的访问。

LibWebCore-一个现代的Web浏览器引擎,它驱动Android浏览器和嵌入Web视图。

SGL-二位图形引擎的基础。

3D 库-一个基于OpenGL ES 1.0 API的实现,这些库或者使用(可用的)硬件3D加速,或者使用已包含的高度优化的3D软件渲染。

FreeType-位图和矢量的字体渲染。

SQLite-一个强大而轻量级的关系型数据库引擎。

Android运行时

Android包含一些核心库,它们在Java程序语言核心库上提供大部分的功能。

每个Android应用程序运行在它们自己的进程里,使用它自己的Dalvik虚拟机实例。Dalvik被设计成允许一个设备中能够运行多个虚拟机。该Dalvik虚拟机执行它自己的可执行文件格式(.dex),这中文件格式为迷你型内存器件做了优化。这种虚拟机是基于寄存器的设计的,它运行编译后的Java类,这些类已经被内置的"dx"工具转换成该.dex格式。

这种Dalvik虚拟机位于Linux内核之上,以提供基础功能,例如线程和底层内存管理。

Linux内核

Android基于Linux2.6版本实现核心的系统服务,如安全,内存管理,进程管理,网络堆栈和驱动模型。内核也扮演着硬件和其余软件之间的抽象层。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: