当前位置:首页 > 建站优化 > 正文内容

安卓系统架构中哪一层最重要?

zhuangbi888.com2021-06-04 01:01建站优化11

android系统架构图及各层介绍 此技术文档主要是从基础了解Android系统架构,便于对以后开发形成一些基本应用架构。

android的系统架构采用了分层架构的思想,如图1所示。从上层到底层共包括四层,分别是应用程序程序层、应用框架层、系统库和Android运行时和Linux内核。

图1:Android系统架构图

每层功能简要介绍如下:

一 应用程序层

该层提供一些核心应用程序包,例如电子邮件、短信、日历、地图、浏览器和联系人管理等。同时,开发者可以利用Java语言设计和编写属于自己的应用程序,而这些程序与那些核心应用程序彼此平等、友好共处。

二 应用程序框架层

该层是Android应用开发的基础,开发人员大部分情况是在和她打交道。应用程序框架层包括活动管理器、窗口管理器、内容提供者、视图系统、包管理器、电话管理器、资源管理器、位置管理器、通知管理器和XMPP服务十个部分。在Android平台上,开发人员可以完全访问核心应用程序所使用的API框架。并且,任何一个应用程序都可以发布自身的功能模块,而其他应用程序则可以使用这些已发布的功能模块。基于这样的重用机制,用户就可以方便地替换平台本身的各种应用程序组件。XMPP((Extensible Messaging and Presence Protocol,前称Jabber[1])是一种以XML为基础的开放式实时通信协议,XMPP网络是基于服务器的(即客户端之间彼此不直接交谈),但是也是分散式的。不像AOL实时通或MSN Messenger等服务,XMPP没有中央官方服务器。Jabber.org的公众服务器上有大量的用户,所以有些人误解了,以为它是官方服务器,不过事实上任何人都可以在自己的域名上运行XMPP服务器。

Jabber识别符(JID)是用户登录时所使用的账号,看起来通常像一个电子邮件地址,如someone@example.com;前半部分为用户名,后半部分为XMPP服务器域名,两个字段以@符号区隔。

假设朱丽叶(juliet@capulet.com)想和罗密欧(romeo@montague.NET)通话,他们两人的账号分别在Capulet.com及Montague.net的服务器上。当朱丽叶输入信息并按下发送钮之后,一连串的事件就发生了:

朱丽叶的XMPP客户端将她的信息发送到Capulet.com XMPP服务器。Capulet.com XMPP服务器打开与Montague.net XMPP服务器的连接。Montague.net XMPP服务器将信息寄送给罗密欧。如果他目前不在在线,那么存储信息以待稍后寄送。)

三 系统库和Android运行时

系统库包括九个子系统,分别是图层管理、媒体库、SQLite、OpenGLEState、FreeType、WebKit、SGL、SSL和libc。Android运行时包括核心库和Dalvik虚拟机,前者既兼容了大多数Java语言所需要调用的功能函数,又包括了Android的核心库,比如android.os、android.Net、android.media等等。后者是一种基于寄存器的java虚拟机,Dalvik虚拟机主要是完成对生命周期的管理、堆栈的管理、线程的管理、安全和异常的管理以及垃圾回收等重要功能。--SQLite是遵守ACID的关系数据库管理系统,它包含在一个相对小的C程序库中;OpenGL-开放图形库(英语:Open Graphics Library,缩写为 OpenGL)是个定义了一个跨编程语言、跨平台的应用程序接口(API)的规范,它用于生成二维、三维图像。

四 linux内核

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的一个特殊驱动程序,具有单独的设备节点,提供进程间通信的功能。

相关文章

全球计算机服务器在哪里?(没有指定服务器证书验证方法)

全球计算机服务器在哪里?(没有指定服务器证书验证方法)

域名信息查询也可以称为Whois查询Whois查询有好多渠道可以查询,您可以用Whois来查看域名的当前信息状态,包括域名是否已被注册、注册日期、过期日期、域名状态、DNS解析服务器等 站长工具查询地...

外链是什么?增加外链的方法有哪些?

外链是什么?增加外链的方法有哪些?

外链对于SEO而言,是网站获取权重的一个重要途径,早期,刚入SEO这个行业的小伙伴,经常寻找各种类型的“外链吧”用于外链建设,但实际上,增加外链外链的方法有很多。 那么,外链是什么,增加外链的方法有...

明朝王阳明战功显赫,名冠天下,为何能够善终?

明朝王阳明战功显赫,名冠天下,为何能够善终?

我们都熟知王阳明是个哲学家,但他还有个少为人知的身份,你们知道吗? 古人常说书生误国,认为书生只会纸上谈兵而不会根据实际情况灵活变通,而王阳明却给说这句话的人狠狠的打了脸。 王阳明不仅是一名书生,还是...

大学生有哪些应该经常关注的网站?

大学生有哪些应该经常关注的网站?

学习技能类1.我要自学网 学习的课程主要为计算机技巧类的,网站的界面排版很糟糕,但内容很不错。 2.网易云课堂 很知名的一个网站,界面简洁,有免费课程也有付费课程,适合每一个人。 3.慕课网 目前...

网站内部优化策略(网站内部如何优化)

网站内部优化策略(网站内部如何优化)

一个大型网站的SEO成功,绝不仅仅是依靠单一的SEO技术的成功,重点还是靠SEO策略,并且把这些SEO策略融入到网站运营中,才能使其SEO达到最佳的效果!很多大型网站长时间在一个瓶颈无法超越,可能换一...

网站改版对排名有影响吗(网站改版有什么影响)

网站改版对排名有影响吗(网站改版有什么影响)

网站改版对于一个运营很久的网站来说是一个很不好的操作,网站不要轻易的改版。而网站之所以要改版,有些原因是因为老网站跟不上互联网的发展速度,有些网站可能是网站已经被K站,已经无法挽回了,而且当网站改版以...

教育网站的设计与开发流程?(在线教育网站的设计与开发)

教育网站的设计与开发流程?(在线教育网站的设计与开发)

教育小程序开发有三种方式选择: 1、在模板网站一键生成。是按年算,每年都要交,一般几百元到几千元一年,也就是使用事先做好的模板。 2、找技术公司外包开发。是根据功能要求门定制,想要什么样的就做成什么样...

河北泊头21岁小伙跳河救人不幸身亡。你怎么看?

河北泊头21岁小伙跳河救人不幸身亡。你怎么看?

我这段(duàn)時(shí)间看到了(le)很(hěn)多这样的(de)悲剧。真的(de)不(bù)希(xī)望发生这样的(de)事情。太让人(rén)痛心!在(zài)5月26日凌晨,有一位(wè...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。