此技术文档主要是从基础了解系統便于对以后开发形成一些基本应用架构。
的系统架构采用了分层架构的思想如图1所示。从上层到底层共包括四层分别是应用程序程序层、应用框架层、系统库和Android运行时和内核。
该层提供一些核心应用程序包例如电子邮件、短信、日历、地图、浏览器和联系人管理等。同时开发者可以利用语言设计和编写属于自己的应用程序,而这些程序与那些核心应用程序彼此平等、友好共处
该层是Android应用开发嘚基础,开发人员大部分情况是在和她打交道应用程序框架层包括活动管理器、窗口管理器、内容提供者、视图系统、包管理器、电话管理器、资源管理器、位置管理器、通知管理器和XMPP服务十个部分。在Android平台上开发人员可以完全访问核心应用程序所使用的API框架。并且任何一个应用程序都可以发布自身的功能模块,而其他应用程序则可以使用这些已发布的功能模块基于这样的重用机制,用户就可以方便地替换平台本身的各种应用程序组件XMPP((Extensible Protocol,前称Jabber)是一种以为基础的开放式协议,XMPP网络是基于服务器的(即客户端之间彼此不直接交谈)但是也是分散式的。不像实时通或等服务XMPP没有中央官方服务器。;前半部分为用户名后半部分为XMPP服务器域名,两个字段以符号区隔
假设朱丽叶(juliet@及Montague的服务器上。当朱丽叶输入信息并按下发送钮之后一连串的事件就发生了:
- 朱丽叶的XMPP客户端将她的信息发送到 XMPP服务器咑开与 XMPP服务器将信息寄送给罗密欧。如果他目前不在在线那么存储信息以待稍后寄送。
系统库包括九个子系统分别是图层管理、媒体庫、SQLite、OpenGLEState、FreeType、WebKit、SGL、SSL和libc。Android运行时包括核心库和Dalvik虚拟机前者既兼容了大多数Java语言所需要调用的功能函数,又包括了Android的核心库比如android.os、android、android.media等等。後者是一种基于寄存器的java虚拟机Dalvik虚拟机主要是完成对生命周期的管理、堆栈的管理、线程的管理、安全和异常的管理以及垃圾回收等重偠功能。--SQLite是遵守的管理系统它包含在一个相对小的中;OpenGL-开放图形库(:Open Graphics Library,缩写为 OpenGL)是个定义了一个跨编程语言、的(API)的规范它用于生荿、图像。
Android核心系统服务依赖于Linux2.6内核如安全性、内存管理、进程管理、网络协议栈和驱动模型。Linux内核也是作为硬件与软件栈的抽象层驅动:显示驱动、摄像头驱动、键盘驱动、WiFi驱动、Audio驱动、flash内存驱动、Binder(IPC)驱动、电源管理等。
Android的系统架构不仅从宏观上认识了Android系统同时,也给我们的学习与实践指明了方向若是从事Android应用开发,那应该研究Android的应用框架层和应用程序层;若是从事Android系统开发那应该研究Android的系統库和Android运行时;若是从事Android驱动开发,那应该研究Android的Linux内核总之,找准切入点实践出真知。
一.android系统架构图及各层介绍
2. 应用框架层:这一層是编写Google发布的核心应用时所使用的API框架开发人员同样可以使用这些框架来开发自己的应用,这样便简化了程序开发的结构设计但是必须要遵守其框架的开发原则。
Connection进程间通信)驱动android的一个特殊驱动程序,具有单独的设备节点提供进程间通信的功能。
Android系统提供给应用開发者的本身就是一个框架所有的应用开发都必须遵守这个框架的原则。我们在开发应用时就是在这个框架上进行扩展