What is Android?

Android是什么?

Android是针对移动设备的一个软件栈,android包括一个操作系统,一个中间件以及一系列关键的应用。Android SDK提供了用Java编程语言编写的在android平台上开发应用所需的工具和API。



特性

应用框架:可重用并可替换的组件

Dalvik虚拟机:为移动设备而优化

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

优化的图形:自定义的2D图形库;基于OpenGL ES 1.0规范的3D图形(可选的硬件加速)

SQLite:结构化的数据存储

媒体支持:通用音频、视频,还有图像格式(MPEG4, H.264, MP3, AAC, AMR, JPG,PNG, GIF)

GSM电话:(依赖硬件)

照相机,GPS,指南针和加速度计:(依赖硬件)

丰富的开发环境:包括一个设备模拟器,调试工具,存储和性能简介,还有一个Eclipse IDE的插件。



Android架构

下图展示了Android操作系统的主要组件。每个组件在下面有更详细的描述。

图片1


应用程序

Android内有一系列的核心应用,包括email客户端,SMS程序,日历,地图,浏览器,电话本及其他。所有的应用都是用Java编程语言写的。



应用框架

通过提供一个开放的开发平台,Android提供给开发者建立极其丰富和极具创新的应用的能力。开发者自由地享有硬件设备的优势,访问本地信息,运行后台服务,设置警示,向状态栏添加通知,还有更多……

开发者能完全访问与核心应用所用的同一个框架APIs。应用架构被设计得能够简化组件的重用;任何应用都可以发布其功能,而其他的应用也就可以使用这些功能(安全限制方面的课题由框架自己提供支持)。同样的机制允许用户替换组件。 
在所有的应用之下,有一系列的服务与系统,包括:

·丰富且可扩展的一系列视图Views,可用于建立应用;包括:lists,grids,text boxs, buttons,以及一个嵌入式的web浏览器。

·内容提供者,使应用能访问其他应用的数据(比如电话本),或是分享他们自己的数据。

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

·通知管理器,使所有的应用都能在状态栏显示自定义的通知。

·活动管理器,管理应用的生命周期,并提供了一个通用的导航的backstack(类似栈)。

更多细节,和一个应用的演练,请看“记事本教程”。


Android包括了一个c/c++库的集合,她们被Android系统的众多组件所使用。通过Android的应用框架,这些功能被开放给开发者。其中的一些核心库如下:

·系统C库——一个继承自BSD的标准C系统实现(libc),被调整成面向基于linux的嵌入式设备。

·媒体库——基于PacketVideo's OpenCORE;该库支持许多流行音频/视频的录制与回放,当然还支持静态的图片文件,包括MPEG4, H.264, MP3,AAC, AMR, JPG, and PNG 

·表面管理器——管理显示子系统,并能无缝地组合多个应用的2D和3D图像层。

·LibWebCore——一个流行的web浏览器引擎,她同时支持Android浏览器和嵌入式的web视图。

·SGL——底层的2D图像引擎

·3D libraries——基于OpenGL ES 1.0 APIs的一个实现;该库或是使用硬件的3D加速,或是使用内置的高度优化的3D软件光栅。

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

·SQLite —— 一个强大而轻量的关系数据库引擎,对所有应用可用。


Android Runtime

Android包括一个核心库的集合,她们提供了Java编程语言的核心库中的绝大多数功能。

每一个Android应用都在她自己的进程中运行,该进程也属于某个Dalvik虚拟机的实例。Dalvik被设计成能让设备高效地运行多个虚拟机。Dalvik虚拟机执行的是.dex结尾的Dalvik可执行文件格式,该格式被优化为最小内存使用。虚拟机是基于寄存器的,并且运行那些Java编程语言所编译的类,这些类被内置的dx工具转换为.dex格式。

Dalvik虚拟机依赖Linux内核来提供底层的功能,比如线程和低级内存管理。


Linux内核

Android依赖Linux 2.6来提供核心系统服务,比如安全、存储管理、进程管理、网络栈和驱动模型。该内核同时扮演着介于硬件和软件栈的其余部分之间的一个抽象层。


转载自:Android基础:什么是Android? (电脑老师)



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值