什么是Android?
什么是Android?
Android是一个移动设备的软件包,它包括操作系统,中间件和主要的应用软件。AndroidSDK为开始使用Java编程语言在Android平台上开发应用程序提供了必要的工具和APIs。
特点
·应用程序框架,使组件可以重用和更换
·为移动设备优化的Dalvik虚拟机
·基于开源的WebKit引擎的集成浏览器
·优化的图形由一个自定义的2D图形库提供;基于OpenGL ES 1.0规范(硬件加速可选)的3D图形
·SQLite提供结构化数据存储
·媒体支持常见的音频,视频和静态图像格式(MPEG4,H.264,MP3,AAC,AMR,JPG,PNG,GIF)
·GSM电话(依赖于硬件)
·蓝牙,EDGE,3G和WiFi(依赖于硬件)
·摄像头,GPS,指南针,和加速度计(依赖于硬件)
·丰富的开发环境包括设备模拟器,调试工具,内存和性能分析工具,和Eclipse IDE的插件
Android架构
下图显示了Android操作系统的主要组成部分。每个部分在下面都有详细描述。
应用
Android提供了一些主要的应用软件,包括电子邮件客户端,SMS程序,日历,地图,浏览器,联系人,和其他。所有这些应用程序都是使用Java编程语言编写的。
应用框架
通过提供一个开放的开发平台,开发人员可以使用Android构建极为丰富和创新的应用。开发者可以自由的使用设备的硬件,访问位置信息,运行后台服务,设置闹钟,状态栏添加通知,等很多,很多。
核心应用使用的框架APIs,开发者同样可以访问全部这些框架APIs。应用程序体系结构被设计为可以简化组件的重用,任何应用都可以公布它的功能,同时任何其他应用程序可以使用这些功能(必须符合框架实施的安全约束)。这样的机制允许用户替换组件。
所有应用程序的基础是一套服务和系统,包括:
·可用来构建一个应用程序的丰富且可扩展的视图集(View),包括列表,网格,文本框,按钮,甚至一个可嵌入的web浏览器
·内容提供商(Content Providers),使应用程序能够访问来自其他应用程序(如通讯录)的数据,或者共享自己的数据
·一个资源管理器(Resource Manager),提供对非代码的资源的访问,例如本地化的字符串,图形,和布局文件
·一个通知管理(Notification Manager
)
,使所有的应用程序可以在状态栏上显示自定义的提醒
·活动管理(Activity Manager),管理应用程序的生命周期,并提供一个共同的导航堆栈
有关详细信息和应用程序的演练,请参见“记事本“教程 。
库
Android包含了一套Android系统各个组件使用的C / C + +库。这些功能通过Android应用框架暴露给开发者。下面列出了一些核心库:
·系统C库(System C library)-一个标准C系统库(libc)的BSD的实现,为嵌入式的基于Linux设备做了调整。
·媒体库-基于PacketVideo的OpenCORE;库支持许多流行的音频和视频格式的播放和录音,以及静态图像文件,包括MPEG4,H.264,支持MP3,AAC,AMR,JPG,PNG
·表面管理器(Surface Manager)-管理多个应用程序的访问显示子系统和无缝复合材料的二维和三维图形层。
·LibWebCore-一个现代的Web浏览器的引擎,它提供了Android浏览器和一个可嵌入的web视图
·SGL-底层的2D图形引擎
·3D库-基于OpenGL ES 1.0 API的实现;库可以使用无论是硬件3D加速(如果可用)或所包含的,高度优化的3D软件光栅
·FreeType-位图和矢量字体渲染
·SQLite的–为所有应用程序提供的一个强大的和轻量级的关系数据库引擎
(Android 运行时)Android Runtime
Android包含一个核心库集合,这个核心库集合提供了大部分Java编程语言核心库可用的功能。
每一个Android应用程序运行在它自己的进程中,与自己的Dalvik虚拟机实例中。Dalvik被设计为可以使设备有效地运行多个虚拟机。Dalvik虚拟机执行Dalvik可执行格式(.DEX)的文件,这种格式是为小内存优化过的。VM是基于寄存器的,并运行由Java语言的编译器编译,并使用内置的“dx”工具转化成.dex格式的类。
Dalvik虚拟机的基础功能依赖于Linux内核,例如线程和低水平内存管理。
Linux内核
Android 的核心系统服务例如安全性,内存管理,进程管理,网络协议栈,和驱动模型依赖于 Linux version 2.6 。 内核也作为硬件和软件堆栈的其余部分之间的一个抽象。更多相关文章
- Android结构介绍
- Android一日游
- Android应用程序请求SurfaceFlinger服务创建Surface的过程分析
- Android平台简介
- Android一日游
- Android应用程序结构
- Android中实现全屏、无标题栏的两种办法(另附Android系统自带样式
- Android应用程序结构
- Android平台简介