Android是一个用于移动设备软件栈(software stack),它包括操作系统,中间件和关键应用。那么Android SDK(soft development kit)为在Android平台开发(Java语言)提供必须的工具和API。

特性:
1,应用程序平台 重用和替换组件
2,Dalvik虚拟机 为移动设备优化的虚拟机
3,集成浏览器 基于开源WebKit(http://www.webkit.org/)引擎
4,优化的图形显示 2D基于客户端图形库;3D基于OpenGL ES1.0(可选硬件加速)
5,SQLite 结构化存储数据
6,多媒体支持 音视频及图片(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
7,GSM电话支持 普通基于硬件的GSM卡
8,蓝牙,EDGE,3G,WIFI
9,照相,GPS,指南针,感应器
10,富开发环境 谷歌提供PC设备模拟器,调试工具,内存性能分析工具,Eclipse插件
Android架构(Architecture):

四层结构:
Applications
Android附带一条核心应用程序,包括Email客户端,短信程序,日历,地图,浏览器,电话以及其他。所有应用程序都是Java语言编写的。
Application Framework
基于开放开发平台,android可以让开发人员创建极其丰富和新颖的应用。开发人 员可以免费利用设备硬件,存取位置信息(access location information),后台服务,设置警告,添加通知状态栏等等。
开发人员可以随心所欲的获取和核心应用程序一样的平台API。平台结构的设计就是为了重用组件。任何应用程序可以发布有用功能,而任何其他的应用程序可以访问这些功能,当然所有这些得服从框架的安全约束条件。因此,用户可以替换平台组件。
所有的应用程序都是基于下面的服务和系统:
1,内容提供者(Content Providers) 获取和分享数据
2,资源管理器 (Resource Manager) 获取非源码资源(如strings,graphics,layout)
3,提醒管理器(Notification Manager)在状态栏显示客户提醒
4,Activity Manager 管理应用程序生命周期和提供通用导航backstack
Libraries/Android Runtime
Android包含了一套被Android系统平台组件使用的C/C++类库。这些类库功能通过android平台框架提供给开发人员。这些类库如下:
1,System C library 继承标准C类库(libc)的BSD衍生套件,良好的嵌入式Linux设备。
2,Media Libraries 基于Packet Video’s OpenCore
3,Surface Manager 显示子系统和无缝融合2D/3D图形层
4,LibWebCore 支持android浏览器和嵌入式的网络视图
5,SGL 基本的2D图形引擎
6,3D Libraries 基于OpenGL ES1.0 APIs的实现
7,FreeType 位图和矢量字体渲染、
8,SQLite 强大而且轻量的关系数据库引擎

Android runtime:Android提供一套核心库,并且大部分功能可以用Java语言编程来调用(most of the functionality)。
每一个android程序都自己的包含Dalvik虚拟机实例的进程。Dalvik被改写到可以有效的使一个设备同时运行多个虚拟机。Dalvik虚拟机可以执行dex格式文件,这种格式可以使内存占有最小化。这个虚拟机上寄存器依赖,可以运行Java语言编译器编译的类文件(通过内置的“DX”工具转变为dex文件格式);
Dalvik虚拟机依赖Linux内核的基本功能,例如线程和底层内存管理。
Linux Kernel
Android依赖Linux 2.5的核心系统服务如安全,内存管理,进程管理,网络以及驱动模型。这块核心也是一个在硬件和其他软件之间的抽象层。

更多相关文章

  1. android 显示系统 surfaceflinger 分析
  2. Android运行机制
  3. android体系结构介绍
  4. Android(安卓)Android(安卓)Studio 快捷键整理分享,IntelliJ IDE
  5. Android(安卓)如何从屏幕底部向上滑出一个view
  6. Rexsee API介绍:Android屏幕锁定Keyguard
  7. Android(安卓)中文api (81)——InputMethod [输入法]
  8. Android一级目录介绍
  9. Android(安卓)应用程序之间数据共享—ContentProvider

随机推荐

  1. TextView最大长度限制,超出部分省略号显示
  2. Android 学习笔记(4)—— ToggleButton 、S
  3. Android(安卓)— 运行时权限检查
  4. Android(安卓)Volley入门到精通:初识Volle
  5. android HAL 详解
  6. Android多线程:理解和简单使用总结
  7. Android之怎么使用SQLite数据库(增、删、
  8. Android(安卓)开发工具集合 - (Android(
  9. Android 2.2 源码结构分析
  10. Webview如何触发onReceivedLoginRequest;W