什么是Android?

What isAndroid?

学了Android的四大组件,学了怎样在Android上创建自己的应用程序,并有能力开发自己的应用程序了,但是要想真正了解Android,还得多看Android的开发文档。下面翻译了一下Android开发文档中关于什么是Android的阐述。学到了一些知识,至少从大的方面看会更开阔(可能有不准确的地方)!!共勉。留在慢慢品味。

什么是android

Android是一个移动设备的软件栈,其中包括一个操作系统,中间件和关键应用程序。而Android SDK则提供了必要的工具和API,为开发者使用Java编程语言在Android平台开发应用程序而准备。

Android的特性:

应用程序框架:提供可重用和替换的部件。

Dalvik虚拟机:为移动设备优化的Java虚拟机。

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

优化的图形:由一个自定义的2D图形库驱动;基于三维图形上的OpenGL ES1.0规范(硬件加速可选)。

SQLite:结构化数据存储。

媒体支持:常见的音频,视频和静止图像格式(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF

GSM电话:(依赖于硬件)。

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

照相机,全球定位系统,指南针,和加速度计(依赖硬件)。

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

Android架构:

下图显示了Android操作系统的主要组成部分。每一部分都在下面更详细地描述。


应用程序:

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

应用程序框架:

通过提供一个开放的开发平台,Android使开发人员的有能力建设极为丰富和创新性的应用程序。开发者可以自由访问到设备的硬件,接入本地信息,运行后台服务(Services),设置警报(alarms),添加状态栏通知(notifications)等等等等。

开发者完全可以与核心应用程序使用相同的框架API。应用程序架构旨在简化组件的重用;任何应用都可以发布它的功能,而让任何其他应用程序使用这些功能(主体框需要架执行安全约束)。该机制允许系统组件被用户替换。

所有应用程序的背后,是一套服务和系统,包括:

一个丰富和可扩展的视图(View)集合,可以用来构建一个应用程序,包括列表(lists),网格(girds),文本框(text boxes),按钮(buttons),甚至可嵌入网页浏览器。

内容提供者(Content Providers),使应用程序能够访问其他应用程序的数据(如通讯录),或共享自己的数据

资源管理器(Resource Manager),提供非代码类资源访问,如本地化的字符串(strings),图形(graphics),和布局文件(layout files),等。

通知管理器(Notification Manager),使所有的应用程序可以在状态栏显示自定义的警报。

活动管理器(Activity Manager),管理应用程序的生命周期,并提供了一个一般性的回溯导航

对于更多的细节和应用程序的演练,看到API中的教程(Notepad Tutorial)。

类库:

Android包括一系列被Android系统组件所利用的C / C+ +类库。这些功能都通过Android应用程序框架暴露给开发者。下面列出了一些核心库:

系统C库 - 一个标准C系统库(libc)的BSD派生的实现,并为基于嵌入式Linux的设备调整。

媒体库 - 基于PacketVideo的OpenCORE库,支持播放和录制许多流行的音频和视频格式,以及静态图像文件,包括MPEG4,H.264, MP3,AAC,AMR,JPG格式,和PNG。

Surface Manager – 用于管理访问显示子系统,无缝从多个应用程序合成2D和3D图形层。

LibWebCore - 一个现代化的网页浏览器引擎,同时服务Android自带浏览器和一个可嵌入的web视图。

SGL - 底层的2D图形引擎。

3D库 - 基于OpenGL ES 1.0 API的实现;类库或使用硬件3D加速(如果可用),或使用包含高度优化的3D软件光栅(softwarerasterizer)。

FreeType – 用于位图和矢量字体渲染

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

Android运行时环境:

Android包括一套核心库,提供大部分Java编程语言核心库提供的功能。

每一个Android应用程序运行在它自己的进程中,运行自己的Dalvik虚拟机实例。 Dalvik被设计使设备可以有效地运行多个虚拟机。 Dalvik虚拟机执行Dalvik可执行格式(.dex),它是最小的内存占用优化文件。VM是基于寄存器的,运行由Java语言的编译器编译的类,它已经由“dx”工具转化成(.DEX)格式的。

Dalvik虚拟机依赖于Linux内核线程和低级别的内存管理的基本功能。

Linux内核:

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


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值