
图1 安卓系统体系结构
安卓体系结构是指安卓操作系统的组成部分和它们之间的关系。安卓体系结构的示意图见图1。安卓体系结构包括以下几个部分:
- 应用程序层(Applications),这是安卓系统最顶层的部分,是用户最直接使用的部分。它包括所有的应用程序和用户界面,比如图1中的H桌面(Home)、通讯录(Contents)、电话(Phone)和浏览器(Browser)。
- 应用程序框架层(Applicaiton Framework),这一层提供了应用程序层所需的各种服务和功能,也就是上文中提到的API。应用程序运行时所需要的活动管理器(Activity Manager)、窗口管理器(Window Manager)、内容提供者(Content Providers)、视图系统(View system)、通知管理器(Notification Manager)、包管理器(Package Manager)、电话管理器(Telephony Manager)、资源管理器(Resource Manager)、位置管理器(Location Manager)、即时通讯服务(XMPP Service)等功能都由应用程序框架层提供。
- 核心系统库层(Libraries、Android Runtime):这一层提供了底层的系统功能,主要包括原生的C/C++程序库和Android运行时库两部分。原生的C/C++程序库主要包括界面管理器(Surface Manager)、多媒体(Media FrameWork)、关系型数据库引擎(SQLite)、3D绘图库(OpenGL|ES)、字体引擎(FreeType)、浏览器引擎(Webkit)、SGL(2D绘图引擎)、SSL(安全套接字协议)等。Android运行时库,主要包括核心类库(Core Libraries)和 Dalvik虚拟机(Dalvik Virtual Machine)。对于安卓5.0以上的系统版本,不再使用Dalvik虚拟机运行安卓代码,改为用ART虚拟机运行。
- 操作系统内核层(Linux Kernal):这一层是安卓操作系统的核心部分,负责管理系统的硬件资源和提供系统的底层服务。由于安卓系统是基于Linux操作系统开发的,所以这里的系统内核层指的是Linux内核。考虑到安卓应用程序在运行时核心系统库层通过使用操作系统内核层的驱动来和硬件交互,因此很多专家把硬件分离出来单独作为一层,叫做硬件抽象层(HAL,Hardware Abstraction Layer),这里不考虑硬件抽象层。操作系统内核层主要由软件驱动构成,包括显示驱动(Display Driver)、相机驱动(Camera Driver)、蓝牙驱动(Blooth Driver)、闪存驱动(Flash Memory Driver)、进程通信驱动(Binder Driver)、通用穿行总线驱动(USB Driver)、小键盘驱动(keypad Driver)、无线网驱动(WiFi Driver)、音频驱动(Audio Drivers)、电源管理器(Power Management)。
2.2 安卓体系结构间的关系
安卓体系结构之间的关系如下:1)应用程序层是最顶层的部分,是用户最直接使用的部分。2)应用程序框架层位于应用程序层之下,负责提供应用程序层所需的各种服务和功能。3)核心系统库层位于应用程序框架层之下,负责提供底层的系统功能。4)操作系统内核层是安卓操作系统的核心部分,位于核心系统库层之下,负责管理系统的硬件资源和提供系统的底层服务。这些部分是层级关系,各个部分之间通过接口相互配合。应用程序层需要调用应用程序框架层提供的服务,应用程序框架层需要调用核心系统库层提供的功能,核心系统库层需要调用操作系统内核层提供的服务。各个部分共同为用户提供完善的移动设备使用体验。
从移动应用程序的代码调用逻辑来看,当用户和应用程序层交互时,安卓代码打包好的应用程序会在Android运行时库运行,实际上实在执行Dex字节码文件。在这个过程中会通过应用程序框架层提供的JAVA API接口实现各种各样的功能和服务。而应用程序框架层提供的JAVA API接口在调用硬件驱动的时候,又会通过JAVA原生接口(JNI,Java Native Interface)调用核心系统库层的C/C++原生程序库。考虑到C/C++代码操控底层硬件的优势包括:c语言生态丰富,发展较早不需要重复写一些复杂的逻辑,C/C++反编译的难度更大等,因此,C/C++原生程序库会调用系统内核的驱动来和硬件进行交互。在多数情况下,重要的业务逻辑会放在C/C++中。
3.安卓系统版本与处理器
3.1安卓系统版本
安卓系统版本是指安卓操作系统的版本号,不同的安卓系统版本代表着不同的功能和特性。例如,安卓11是一个新的安卓系统版本,它提供了新的功能和特性,而安卓10是旧的安卓系统版本,它提供的功能和特性可能较少。
API等级是指安卓系统提供的API的版本号,不同的API等级代表着安卓系统提供的不同功能和服务。例如,API等级30代表着安卓系统提供了30版本的API,这些API可以提供新的功能和特性。
安卓系统版本和API等级之间的存在一定的关系,每个安卓系统版本都会提供一个或多个API等级的API。例如,安卓11系统版本可能会提供API等级30、31和32等多个API等级的API。
但是,并不是所有的安卓系统版本都会提供所有的API等级的API。例如,安卓11系统版本可能只提供API等级30和31的API,而不提供API等级29的API。这意味着,如果开发人员使用了API等级为29的安卓SDK开发应用程序,则该应用程序可能无法在安卓11系统版本中运行。安卓版本与API等级的对应关系见图2。

图2 安卓系统与API等级的关系
3.2安卓系统处理器
按照处理器(CPU,central processing unit)型号的不同,可将安卓系统做如下划分:armeabi架构、arm64架构、x86架构和x86_64架构。其中armeabi架构指的是基于32位ARM处理器开发的安卓系统,arm64架构指的是基于64位arm架构开发的安卓系统,x86架构指的是基于Intel32位处理器开发的安卓系统,x86_64指的是基于Intel64位处理器开发的安卓系统。
派优网部分新闻资讯、展示的图片素材等内容均为用户自发上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习交流。用户通过本站上传、发布任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请
联系我们一经核实,立即删除。并对发布账号进行封禁。
相关推荐
-
一 声母r: 舌尖后、 浊 、擦音 【发声提示】 舌尖靠近上齿背,形成窄缝,气流从窄缝中挤出来,的借“日”的发音学习“r”的呼读音。 二 四声练习: rēng 扔 扔开 rēng …
-
孟郊,(751~814),唐代诗人,字东野,唐代湖州武康人,祖籍平昌,先世居洛阳(今属河南)。现存诗歌500多首,以短篇的五言古诗最多,没有一首律诗。 一、高峰夜留景,深谷昼未明。…
-
编辑导语:与消费互联网不同,产业互联网将“产业”与“互联网”融合到一起,成为一种新型经济。而产业互联网产品的运营思维,自然也不同于消费互联网产品的运营。本文作者就对产业互联网的运营…
-
京东网店怎么开 电子商务的兴起丰富了我们的生活,也增加了我们赚钱的渠道。现在有的人喜欢在淘宝上购物,有的人则喜欢在京东上购物(点击查看从京东和淘宝的优缺点看网购为何有人喜欢淘宝有人…
-
如果你以为淘宝开店不要钱,那就大错特错了。申请一个淘宝店铺却是不要钱,但是,店铺开张后,哪哪都要花钱,首先是货源的问题,其次就是店铺装修的问题,那么,装修店铺要多少钱呢? 一、一般…
-
一、你曾经哭过的事,多少年之后,你一定会笑着说出来,然后骂自己一句:当初真的好傻。其实人生没有那么多的烦恼,时间会解决一切,好好爱自己。 二、当你毫不怀疑地相信一个人,那么你最终有…
-
试营业是一种非常重要的营销方式,可以让顾客更好地了解你的产品和服务,并吸引更多的潜在客户。而在试营业过程中,朋友圈文案是非常重要的一环,好的文案可以让你的试营业更加成功。那么,试营…
-
去年由于***的影响,都出不了门,直播带货也因此火了一把,不少人开始投身直播带货,想要抓住如今直播带货的流量红利,来帮助自身首先产品销量的提升,但由于这些主播接触直播带货并不久,在…
-
公司成本包括哪些?就一般意义而言,成本费用泛指企业在生产经营中所发生的各种资金耗费。企业的成本费用,就其经济实质来看,是产品价值构成中c+v两部分价值的等价物,用货币形式来表示,也…
-
天天向上肖战是哪期2019 2019年肖战登上《天天向上》是在第20190728期。 2019年夏天最热门的新生代演员莫属王一博、肖战。作为“天天兄弟”的成员,王一博这次和“新的好…