What is Android?

学了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内核也作为硬件和软件堆栈的其余部分之间的抽象层。


更多相关文章

  1. android之theme
  2. android:theme常用相关属性值
  3. android 系统开机运行指定程序
  4. Android(安卓)安全性和权限
  5. AndroidManifest.xml文件详解(service)
  6. 【android】仿照长按home键 恢复后台运行程序
  7. Android(安卓)开发教程 (包括全部ApiDemo解析,NDK, Roboguice等)
  8. android中系统自带主题集锦
  9. android中的style部分属性值介绍【一】

随机推荐

  1. android基础(一) View与六大布局(上)
  2. Android系统自带样式Theme总结
  3. android获取手机唯一识别号
  4. Android 扫描SDCard上的音乐文件以及监听
  5. 优雅的处理Android数据库升级的问题
  6. android 添加桌面窗口小部件(托至桌面需要
  7. Android(安卓)Rxjava+Retrofit网络请求框
  8. android二维码xzing使用
  9. android使用RelativeLayout实现两端对齐
  10. Android ril移植-6410开发板SIM300模块