android系统架构图及各层介绍
此技术⽂档主要是从基础了解系统,便于对以后开发形成⼀些基本应⽤架构。
的系统架构采⽤了分层架构的思想,如图1所⽰。从上层到底层共包括四层,分别是应⽤程序程序层、应⽤框架层、系统库和Android运⾏时和内核。
图1:Android系统架构图
每层功能简要介绍如下:
⼀应⽤程序层
该层提供⼀些核⼼应⽤程序包,例如电⼦邮件、短信、⽇历、地图、浏览器和联系⼈管理等。同时,开发者可以利⽤语⾔设计和编写属于⾃⼰的应⽤程序,⽽这些程序与那些核⼼应⽤程序彼此平等、友好共处。
⼆应⽤程序框架层
该层是Android应⽤开发的基础,开发⼈员⼤部分情况是在和她打交道。应⽤程序框架层包括活动管理器
、窗⼝管理器、内容提供者、视图系统、包管理器、电话管理器、资源管理器、位置管理器、通知管理器和XMPP服务⼗个部分。在Android平台上,开发⼈员可以完全访问核⼼应⽤程序所使⽤的API框架。并且,任何⼀个应⽤程序都可以发布⾃⾝的功能模块,⽽其他应⽤程序则可以使⽤这些已发布的功能模块。基于这样的重⽤机制,⽤户就可以⽅便地替换平台本⾝的各种应⽤程序组件。XMPP((Extensible Messaging and Presence Protocol 可扩展通讯和表⽰协议,前称Jabber)是⼀种以为基础的开放式协议,XMPP⽹络是基于服务器的(即客户端之间彼此不直接交谈),但是也是分散式的。不像实时通或等服务,XMPP没有中央官⽅服务器。的公众服务器上有⼤量的⽤户,所以有些⼈误解了,以为它是官⽅服务器,不过事实上任何⼈都可以在⾃⼰的域名上运⾏XMPP服务器。
Jabber识别符()是⽤户登录时所使⽤的账号,看起来通常像⼀个电⼦邮件地址,如someone@example;前半部分为⽤户名,后半部分为XMPP服务器域名,两个字段以符号区隔。
假设朱丽叶(juliet@capulet)想和罗密欧(romeo@montague)通话,他们两⼈的账号分别在Capulet及Montague的服务器上。当朱丽叶输⼊信息并按下发送钮之后,⼀连串的事件就发⽣了:
1. 朱丽叶的XMPP客户端将她的信息发送到Capulet XMPP服务器。
2. Capulet XMPP服务器打开与Montague XMPP服务器的连接。
3. Montague XMPP服务器将信息寄送给罗密欧。如果他⽬前不在在线,那么存储信息以待稍后寄送。
)
三系统库和Android运⾏时
系统库包括九个⼦系统,分别是图层管理、媒体库、SQLite、OpenGLEState、FreeType、WebKit、SGL、SSL和libc。Android运⾏时包括核⼼库和Dalvik虚拟机,前者既兼容了⼤多数Java语⾔所需要调⽤的功能函数,⼜包括了Android的核⼼库,⽐如android.os、android、dia等等。后者是⼀种基于寄存器的java虚拟机,Dalvik虚拟机主要是完成对⽣命周期的管理、堆栈的管理、线程的管理、安全和异常的管理以及垃圾回收等重要功能。--SQLite是遵守的管理系统,它包含在⼀个相对⼩的中;OpenGL-开放图形库(:Open Graphics Library,缩写为 OpenGL)是个定义了⼀个跨编程语⾔、的(API)的规范,它⽤于⽣成、图像。
四内核
Android核⼼系统服务依赖于Linux2.6内核,如安全性、内存管理、进程管理、⽹络协议栈和驱动模型。
Linux内核也是作为硬件与软件栈的抽象层。驱动:显⽰驱动、摄像头驱动、键盘驱动、WiFi驱动、Audio驱动、flash内存驱动、Binder(IPC)驱动、电源管理等。
总结:
1 Android的系统架构采⽤分层架构的思想,架构清晰,层次分明,协同⼯作。
2 Android的系统架构不仅从宏观上认识了Android系统,同时,也给我们的学习与实践指明了⽅向。若是从事Android应⽤开发,那应该研究Android的应⽤框架层和应⽤程序层;若是从事Android系统开发,那应该研究Android的系统库和Android运⾏时;若是从事Android驱动开发,那应该研究Android的Linux内核。总之,准切⼊点,实践出真知。
⼀.android系统架构图及各层介绍安卓系统软件开发培训
1. 应⽤层:应⽤是⽤java语⾔编写的运⾏在虚拟机上的程序,⽐如Email客户端,SMS短消息程序,⽇历等。
2. 应⽤框架层:这⼀层是编写Google发布的核⼼应⽤时所使⽤的API框架,开发⼈员同样可以使⽤这些框架来开发⾃⼰的应⽤,这样便简化了程序开发的结构设计,但是必须要遵守其框架的开发原则。
3. 系统运⾏库(C/C++库以及Android运⾏库)层:当使⽤Android应⽤框架时,Android系统会通过⼀些C/C++库来⽀持我们使⽤的各个组件,使其更好的为我们服务,⽐如其中的SQLite(关系),Webkit(Web浏览器引擎)。
4. Linux内核层:Android的核⼼系统服务基于Linux2.6内核,如安全性、内存管理、进程管理、⽹络协议栈和驱动模型等都依赖于该内核,⽐如Binder IPC(Internet Process Connection进程间通信)驱动,android的⼀个特殊驱动程序,具有单独的设备节点,提供进程间通信的功能。
⼀.框架提供的功能
Android系统提供给应⽤开发者的本⾝就是⼀个框架,所有的应⽤开发都必须遵守这个框架的原则。我们在开发应⽤时就是在这个框架上进⾏扩展,
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论