2008年11月6日星期四

android架构

android架构:

applications:
一套核心应用程序,包括:电子邮件客户端、短信程序、日历、地图、浏览器、通讯录等,所有应用程序使用JAVA开发。

Application Framework
开发人员拥有在applications中使用的API的完全使用能力。应用程序架构用于简化组件的重用,一些应用程序开放他们的功能API,另外一些应用程序使用那些功能API,但是会受限于框架规定安全约束。这些机制允许用户更换组件。
应用程序架构是一系列的服务和系统,包括:
(1)Views
提供一套丰富的扩展的视图,用于构建应用程序,包括:列表、表格、文本框、按钮、甚至嵌入式浏览器
(2)Content Provider
用于应用程序访问其他应用程序的数据,比如通讯录,或者,共享自己的数据
(3)Resource Manager
提供访问非代码的资源机制,比如本地化字符、图形、布局文件
(4)Notification Manager
为应用程序提供在状态栏显示自定义警告信息的能力
(5)Activity Manager
管理应用程序的生命周期,提供后退导航机制

Libraries
提供一套C/C++库,以供Andriod系统不同组件调用,库的开放途径是通过Application Framework,下面列举核心库:
(1)System C Library
基于BSD实现的C标准库(libc),专门针对嵌入式linux设备调整
(2)Media Library
基于PacketVideo的OpenCORE,这个库支持多数公共的视频音频格式的播放、录制,以及静态图片格式,包括MPEG4 H.264 MP3 AAC AMR JPG PNG
(3)Surface Manager
管理显示子系统的入口,无缝组合用于多应用程序的2D、3D图形层
(4)LibWebCore
一个现代Web浏览器引擎,该引擎增强andriod浏览器和嵌入式Web视图
(5)SGL
基本的2D图形引擎
(6)3D Libraries
一个基于OpenGL ES 1.0API的实现,该库使用硬件加速或者内含的高度优化的3D光栅刷新软件
(7)FreeType
位图、矢量字体渲染
(8)SQLite
用于所有应用程序的、功能强大的、轻量级关系数据库引擎

Android Runtime
Android包含一套核心库,该库提供能在核心JAVA语言核心库中获得的大多数功能。每个Android程序都运行在他自己的进程中,即Dalvik虚拟机的自主实例。Dalvik编写目的是:让一个设备能有效运行在多个虚拟机上。使用Dalvik执行文件格式(.dex)的Dalvik虚拟机针对小内存占用而优化。这个虚拟机是基于注册机制的,运行的类使用JAVA语言编译器编译,该编译器使用内置的DX工具转换成.dex文件格式。Dalvik虚拟机依赖LINUX内核,该内核提供诸如线程、低级别内存管理的基本功能

Linux Kernel
Android 基于提供诸如安全、内存管理、进程管理、网络堆栈、驱动模型功能的LINUX2.6。该内核也起着在硬件和软件堆栈之间的抽象隔离层的作用。

没有评论: