什么是Android?
Android在中国,被叫做安卓,此名是来源于其英文发音。广义来讲,其实它就是一款运行在手机上的操作系统。它的开发商Google提供了相应的SDK包给开发者,这样我们才能够使用其API和工具在安卓系统的平台上开发相应的手机端软件。
特性
应用程序框架 包含了一系列可复用的通用组件
Dalvik虚拟机 手机端优化的Java程序运行时环境
集成浏览器 基于开源项目Webkit引擎
流畅的图形画面 自定义的二位图形库;基于OpenGL ES 1.0规范(可选的硬件加速)的三维图形
SQLite 结构化的数据库
多媒体支持 支持音频,视频和各种图片格式(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
GSM电话 传统的GSM网络通信能力(硬件相关)
蓝牙,EDGE, 3G 和WiFi(硬件相关)
摄像头,GPS定位,罗盘,加速度(硬件相关)
多种开发环境 设备模拟器,调试工具,内存和性能调优,Eclipse IDE的插件
Android架构
应用程序
Android系统中已经装配一些核心的应用程序:邮件客户端,短信程序,日历,地图,浏览器,联系等,所有的应用程序是用Java语言编写的。
应用框架
通过提供了开放的开发平台,开发者可以在上面创造各种丰富的程序。
开发者拥有所有对框架接口的访问权限。
丰富并且可扩展的视图 列表,网格,文本框,按钮,嵌入式浏览器
Content Providers 帮助应用程序访问其他程序的数据(例如联系人)或者共享自己的数据
A Resource Manager 帮助访问其他的资源,本地化字符串,图片,视图文件
A Notification Manager
帮助所有程序在状态栏中显示自定义的通知
An Activity Manager
管理应用程序的生命周期,并提供公用的历史后退导航栈
库
Android包含了一组C/C++的库,这些库是被各种各样的系统组件使用的。
系统C库 标准的C系统库(libc)的BSD系的实现,应用于嵌入式Linux的设备
媒体库 基于PacketVideo OpenCORE; 支持各种音视频格式的制作和播放
皮肤管理器 管理系统和各种应用程序的显示
LibWebCore web浏览器引擎
SGL 底层的二维图形引擎
三维库 基于OpenGL ES 1.0 接口的实现库;
FreeType 位图和适量字体渲染
SQLite 强大的轻量级的关系型数据库引擎
Android运行时
Androi包含了一组使用Java语言编写的核心库,它们提供了大部分功能。
每一个应用,系统都会提供单独的DVM虚拟机实例,运行在各自独立的进程中。
Dalvik VM虚拟机运行的是.dex格式的文件,这种文件已经根据最小化内存的原则进行过优化。
Java编译器首先将Java代码编译成.class字节码,然后dx工具将前面生成的.class文件编译成.dex文件。
Dalvik VM虚拟机运行在Linux内核上,由Linux内核提供了线程和底层级别的内存管理。
Linux内核
Android依赖在Linux 2.6版本,这个版本的内核提供了一些核心的系统服务,安全,内存管理,进程管理,网络协议栈,驱动模型。内核也充当着在硬件和软件之间的抽象层。
相关新闻>>
- 发表评论
-
- 最新评论 更多>>