What is Android?

本文详细介绍Android平台架构,包括操作系统、中间件和关键应用等组成部分。此外还介绍了Android SDK提供的开发工具和API,以及Android平台的独特特性,如Dalvik虚拟机、集成浏览器、多媒体支持等。
Android是一个用于移动设备软件栈(software stack),它包括操作系统,中间件和关键应用。那么Android SDK(soft development kit)为在Android平台开发(Java语言)提供必须的工具和API。

特性:
1,应用程序平台 重用和替换组件
2,Dalvik虚拟机 为移动设备优化的虚拟机
3,集成浏览器 基于开源WebKit(http://www.webkit.org/)引擎
4,优化的图形显示 2D基于客户端图形库;3D基于OpenGL ES1.0(可选硬件加速)
5,SQLite 结构化存储数据
6,多媒体支持 音视频及图片(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
7,GSM电话支持 普通基于硬件的GSM卡
8,蓝牙,EDGE,3G,WIFI
9,照相,GPS,指南针,感应器
10,富开发环境 谷歌提供PC设备模拟器,调试工具,内存性能分析工具,Eclipse插件
Android架构(Architecture):
[img]http://developer.android.com/images/system-architecture.jpg[/img]
四层结构:
Applications
Android附带一条核心应用程序,包括Email客户端,短信程序,日历,地图,浏览器,电话以及其他。所有应用程序都是Java语言编写的。
Application Framework
基于开放开发平台,android可以让开发人员创建极其丰富和新颖的应用。开发人 员可以免费利用设备硬件,存取位置信息(access location information),后台服务,设置警告,添加通知状态栏等等。
开发人员可以随心所欲的获取和核心应用程序一样的平台API。平台结构的设计就是为了重用组件。任何应用程序可以发布有用功能,而任何其他的应用程序可以访问这些功能,当然所有这些得服从框架的安全约束条件。因此,用户可以替换平台组件。
所有的应用程序都是基于下面的服务和系统:
1,内容提供者(Content Providers) 获取和分享数据
2,资源管理器 (Resource Manager) 获取非源码资源(如strings,graphics,layout)
3,提醒管理器(Notification Manager)在状态栏显示客户提醒
4,Activity Manager 管理应用程序生命周期和提供通用导航backstack
Libraries/Android Runtime
Android包含了一套被Android系统平台组件使用的C/C++类库。这些类库功能通过android平台框架提供给开发人员。这些类库如下:
1,System C library 继承标准C类库(libc)的BSD衍生套件,良好的嵌入式Linux设备。
2,Media Libraries 基于Packet Video’s OpenCore
3,Surface Manager 显示子系统和无缝融合2D/3D图形层
4,LibWebCore 支持android浏览器和嵌入式的网络视图
5,SGL 基本的2D图形引擎
6,3D Libraries 基于OpenGL ES1.0 APIs的实现
7,FreeType 位图和矢量字体渲染、
8,SQLite 强大而且轻量的关系数据库引擎

Android runtime:Android提供一套核心库,并且大部分功能可以用Java语言编程来调用(most of the functionality)。
每一个android程序都自己的包含Dalvik虚拟机实例的进程。Dalvik被改写到可以有效的使一个设备同时运行多个虚拟机。Dalvik虚拟机可以执行dex格式文件,这种格式可以使内存占有最小化。这个虚拟机上寄存器依赖,可以运行Java语言编译器编译的类文件(通过内置的“DX”工具转变为dex文件格式);
Dalvik虚拟机依赖Linux内核的基本功能,例如线程和底层内存管理。
Linux Kernel
Android依赖Linux 2.5的核心系统服务如安全,内存管理,进程管理,网络以及驱动模型。这块核心也是一个在硬件和其他软件之间的抽象层。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值