Android 部分组成:
一个兼容性定义文档(Compatibility Definition Document,CDD)和兼容性测试包(Compatibility Test Suite,CTS),它们描述了移动设备为了支持软件栈而需要具备的性能。
一个Linux操作系统内核
应用程序开发的开源库,包括SQLite Webkit OpenGL以及一个媒体管理器
用来运行和承载Android应用程序的运行时,包括Dalvik虚拟机和提供Android特定功能的核心库
一个把系统服务隐式地显示给应用层的应用程序框架,包括窗口管理器、位置管理器、数据库、电话和传感器
一个用来承载和启动应用程序的用户界面框架
一套核心的预装应用程序
用来开发应用程序的软件开发包,包括工具、插件和文档
Android SDK的特征:
访问硬件(包括摄像头、GPS和传感器)
使用WiFi、蓝牙技术和NFC进行数据传输
地图、地理编码和基于位置的服务
后台服务
使用SQLite数据库进行数据存储和检索
共享数据和应用程序间通信
使用Widget和Live Wallpaper增强主屏幕
广泛的媒体支持和2D/3D图形
Cloud to Device Messaging(C2DM)
优化的内存和进程管理
Android软件开发包(software development kit,SDK):
Android API SDK核心是Android API库,它向开发人员提供了对Android栈进行访问的方法
开发工具
Android虚拟设备管理器和模拟器
完整的文档
示例代码
在线支持
Android软件栈:
Linux内核
库在内核之上,Android包含了各种C/C++核心库
Android运行时
应用程序框架
应用层
Android应用程序架构:
Activity Manager和 Fragment Manager
视图View
Notification Manager(通知管理器)
Content Provider(内容提供器)
Resource Manager(资源管理器)
Intent
Android应用程序的类型
前台应用程序
后台应用程序
间歇式应用程序
Widget和Live Wallpaper
Android通过监控下面两个条件来确定响应性
应用程序必须在5秒内对任何用户动作做出响应
一个Broadcast Receiver必须在10秒内从它的onReceive处理程序中返回