什么是Android?
来源:互联网 发布:如何提升淘宝星级 编辑:程序博客网 时间:2024/05/17 23:03
文章来源:http://developer.android.com/guide/basics/what-is-android.html
Android是一个移动设备,其中包括一个操作系统,中间件和关键应用软件栈。的 Android SDK 提供必要的工具和API,开始使用Java编程语言在Android平台开发应用程序。
特点
- 应用程序框架,使重用和更换部件
- 为移动设备优化的Dalvik虚拟机
- 集成的浏览器基于开源的WebKit引擎
- 基于优化的图形由一个自定义的2D图形库供电; 3D图形的OpenGL ES 1.0规范(硬件加速可选)
- SQLite的为结构化数据存储
- 媒体支持常见的音频,视频和静止图像格式(MPEG4,H.264支持MP3,AAC,AMR,JPG格式,巴布亚新几内亚,的GIF)
- GSM电话(依赖于硬件)
- 蓝牙,EDGE,3G和WiFi(依赖于硬件)
- 摄像头,GPS,指南针,和加速度计(依赖于硬件)
- 丰富的开发环境包括设备模拟器,调试器,内存和性能分析工具,和一个用于Eclipse IDE的插件
Android架构
下图显示了Android操作系统的主要组成部分。每一部分都在下面更详细地描述。
应用
Android会附带了一套核心应用,包括电子邮件客户端,SMS程序,日历,地图,浏览器,联系人,和其他。所有应用程序都使用Java编程语言编写的。
应用框架
通过提供一个开放的开发平台,Android提供了开发人员的能力建设极为丰富和创新应用。开发者可以自由考虑到设备的硬件,接入位置信息的优势,运行后台服务,设置警报,状态栏添加通知,多少,更。
开发商有完全访问核心应用程序使用相同的框架API。应用程序架构旨在简化组件的重用;任何应用都可以发布它的功能和任何其他应用程序,然后使用这些功能(主体框架执行安全约束)。该机制允许组件被用户替换。
所有应用程序的背后,是一套服务和系统,包括:
- 的丰富和扩展集意见,可以用来构建一个应用程序,包括列表,网格,文本框,按钮,甚至可嵌入网页浏览器
- 内容提供商,使应用程序能够访问其他应用程序的数据(如通讯录),或共享自己的数据
- 一个资源管理器,提供本地化的字符串,图形,和布局文件,如非代码资源的访问
- 一个
通知管理
,使所有的应用程序显示在状态栏的自定义警报 - 管理应用的生命周期和一个
活动管理
提供了一个共同的导航backstack
对于更多的细节和应用程序的演练,看到记事本教程。
库
Android包括一组的C / C + Android系统的各个组成部分所用的库。这些功能都暴露给开发者通过Android应用程序框架。下面列出了一些核心库:
- 系统C库 -一个标准C系统库(libc)的BSD派生的实施,为基于嵌入式Linux的设备调整
- 媒体库 -基于PacketVideo的OpenCORE库支持许多流行的音频和视频格式的播放和录音,以及静态图像文件,包括MPEG4,H.264标准,支持MP3,AAC,AMR,JPG格式,和PNG
- 表面经理 -管理访问显示子系统和无缝合成2D和3D图形层从多个应用程序
- LibWebCore -一个现代化的网页浏览器引擎的权力Android浏览器和一个可嵌入的web视图
- 西格里 -底层的2D图形引擎
- 3D库 -基于OpenGL ES 1.0 API的实施;图书馆使用无论是硬件3D加速(如果可用)或包含高度优化的3D软件光栅
- 用于FreeType -位图和矢量字体渲染
- SQLite的 -所有的应用程序提供一个强大的和轻量级的关系数据库引擎
Android运行
Android包括一套核心库提供大部分Java编程语言核心库提供的功能。
每一个Android应用程序运行在它自己的进程中,与自己的Dalvik虚拟机实例。Dalvik被设计使设备可以有效地运行多个虚拟机。Dalvik虚拟机执行Dalvik可执行格式(。dex)的最小的内存占用优化文件。VM是基于寄存器的,运行已所包含的“dx”工具转化成。DEX格式的Java语言的编译器编译的类。
Dalvik虚拟机依赖于Linux内核线程和低级别的内存管理的基本功能如。
Linux内核
Android依赖于核心系统服务,如安全,内存管理,进程管理,网络堆栈,驱动模型在Linux 2.6版本。内核也作为硬件和软件堆栈的其余部分之间的抽象层。
- 什么是3G什么是Android
- 什么是Android?
- 什么是Android?
- 什么是Android
- 什么是 Android
- 什么是Android?
- 什么是Android?
- 什么是Android?
- 什么是Android
- 什么是 Android?
- 什么是Android
- 什么是 Android
- 什么是android
- 什么是 Android?
- 什么是Android?
- 什么是Android?
- 什么是android
- 什么是Android?
- Access denied for user 'root'@'localhost' (using password: NO)的解决办法
- ADO.NET
- 【背包模板】
- Ubuntu Linux JDK 安装
- android 开发指南
- 什么是Android?
- VB工程--百例74--窗体变色
- Greedy——HDOJ 1051
- 排序算法之归并排序
- 除数为2的N次方取模可以用与运算替代,效率更高
- Zen 初始化主题的安装 基础篇
- 《银行的秘密》读书札记(一)
- 启明星辰2011校园招聘(二) c++部分笔试题
- Unity3D视频资源