什么是android
2012-11-25 12:29
162 查看
定义:Android是一个手机设备的软件栈,由操作系统、中间件和关键应用组成。
特征
应用框架:允许组件的重用和修改。
Dalvik虚拟机:对手机设备优化。
集成的浏览器:基于开源的WebKit引擎的浏览器。
图形优化:由通常的2D图形库驱动;3D图形是基于OpenGL ES 1.0规格说明的(硬件可选的)。
SQLite:结构化的数据存储。
媒体支持:支持一般的音频、视频和图片格式(MPEG4、H.264、MP3、AAC、AMR、JPG、PNG、GIF)。
蓝牙,GPS,罗盘,GSM技术:(硬件支持的)。
丰富的开发环境:包括虚拟设备,调试工具,存储和行为(performance)配置和eclipse插件。
Android架构
应用:一套核心的应用,用Java编写。
应用框架:开发者可以访问核心框架使用的API。应用框架设计的使组件的重用简单。任何应用都可以发布它自己的功能,并且其他的应用可以使用它,这种机制使得组件可以被用户替换。
所有底层的应用都使用的一套服务和系统,包括:
·View:一套丰富的可扩展的可以被用来构建应用的View,包括列表、网格、文本、按钮和嵌套的浏览器。
·Content Provider:允许应用访问其他应用的应用,或者分享他们的数据。
·Notification Manager:允许所有的应用在状态条显示alerts。
·Activity Manager:管理应用的生命周期并提供了一个回调栈导航。
库
Android包括了一套android系统应用使用的C/C++库,通过android应用框架暴露给开发者,下面给出一些核心库:
·系统C库:
·媒体库:
·界面管理:
·LibWebCore:
·SGL:底层的2D图像引擎。
·3D库:
·FreeType:位图和向量。
·SQLite:一个轻量级的关系型数据库。
Android运行时
每个android都运行在它自己的进程里面,有它自己的DVM实例,Davilk被写成可以有效的运行多个VMs,Davilk VM执行文件是Davilk Executable(.dex)格式的,它优化了存储。VM是基于注册的,通过dx工具运行被java编译器编译且被转换成 .dex 格式的类。
DVM依赖于Linux Kernel的底层功能如线程和低级的存储管理。
Linux Kernel
Android依赖于Linux 2.6版本的核心服务,比如安全、存储管理、进程管理、网络栈和驱动模型。Linux Kernel还是一个硬件和软件之间的抽象层。
特征
应用框架:允许组件的重用和修改。
Dalvik虚拟机:对手机设备优化。
集成的浏览器:基于开源的WebKit引擎的浏览器。
图形优化:由通常的2D图形库驱动;3D图形是基于OpenGL ES 1.0规格说明的(硬件可选的)。
SQLite:结构化的数据存储。
媒体支持:支持一般的音频、视频和图片格式(MPEG4、H.264、MP3、AAC、AMR、JPG、PNG、GIF)。
蓝牙,GPS,罗盘,GSM技术:(硬件支持的)。
丰富的开发环境:包括虚拟设备,调试工具,存储和行为(performance)配置和eclipse插件。
Android架构
应用:一套核心的应用,用Java编写。
应用框架:开发者可以访问核心框架使用的API。应用框架设计的使组件的重用简单。任何应用都可以发布它自己的功能,并且其他的应用可以使用它,这种机制使得组件可以被用户替换。
所有底层的应用都使用的一套服务和系统,包括:
·View:一套丰富的可扩展的可以被用来构建应用的View,包括列表、网格、文本、按钮和嵌套的浏览器。
·Content Provider:允许应用访问其他应用的应用,或者分享他们的数据。
·Notification Manager:允许所有的应用在状态条显示alerts。
·Activity Manager:管理应用的生命周期并提供了一个回调栈导航。
库
Android包括了一套android系统应用使用的C/C++库,通过android应用框架暴露给开发者,下面给出一些核心库:
·系统C库:
·媒体库:
·界面管理:
·LibWebCore:
·SGL:底层的2D图像引擎。
·3D库:
·FreeType:位图和向量。
·SQLite:一个轻量级的关系型数据库。
Android运行时
每个android都运行在它自己的进程里面,有它自己的DVM实例,Davilk被写成可以有效的运行多个VMs,Davilk VM执行文件是Davilk Executable(.dex)格式的,它优化了存储。VM是基于注册的,通过dx工具运行被java编译器编译且被转换成 .dex 格式的类。
DVM依赖于Linux Kernel的底层功能如线程和低级的存储管理。
Linux Kernel
Android依赖于Linux 2.6版本的核心服务,比如安全、存储管理、进程管理、网络栈和驱动模型。Linux Kernel还是一个硬件和软件之间的抽象层。
相关文章推荐
- [Android问答] px、dp和sp,这些单位有什么区别?
- Android软件开发需要学什么
- android:contentDescription的作用是什么
- Android是什么 之三-------手机之硬件形态
- Android做了些什么?
- Android 的提权 (root) 原理是什么?
- Android面试题 你经常写复杂的界面,那Android刷新Ui有什么特点?在这个过程中做哪些操作会出现问题
- Android_什么是【回调】
- Android中的Parcel是什么
- Android 2.2 和Google APIs的区别是什么
- Android中,同步和异步有什么区别?
- [Android问答] px、dp和sp,这些单位有什么区别?
- 高级Android到底有什么要求!!!
- android最恶心的是什么?
- Android 面试题笔记-------android解析XML的方法有几种?都是什么?及其作用于区别?
- Google I/O 2016 上发布的 ConstraintLayout是什么东东?Android Layout新世界
- Android Launcher研究(二)-----------Launcher为何物,究竟是干什么的?
- [Android问答] px、dp和sp,这些单位有什么区别?
- android 取当前显示的activity是什么
- android自动更新程序,安装完以后就什么都没有了,没有出现安装成功的界面的问题