android系统机构art

(1)应用程序层

home, Contracts, Phone, Browser等等

(2)应用框架层

这一层其实就是隐藏在每个应用后面的是一系列的服务和系统。
应用框架层为应用开发者提供了用以访问核心功能的API框架.在遵循框架安全性限制的前提下,任何一个应用都可以调用这些核心功能 API来发布自己的功能组件.应用框架层提供了各种服务和管理工具,包括了应用开发所需的界面管理、数据访问、应用层的消息传递、应用包的管理、电话管理、定位管理以及 Google Talk服务等功能。
<1>Activity Manager:
用来管理应用程序生命周期并提供常用的导航回退功能
<2>Notification Manager:
使得应用程序可以在状态栏中显示自定义的提示信息
<3>Resource Manager:
提供 非代码资源的访问,如本地字符串,图形,和布局文件( layout files )。
<4>Content Providers:
使得应用程序可以访问另一个应用程序的数据(如联系人数据库), 或者共享它们自己的数据
<5>Views:
可以用来构建应用程序, 它包括列表(lists),网格(grids),文本框(text boxes),按钮(buttons), 甚至可嵌入的web浏览器。
<6>Window Manager:
对 Window 的访问必须通过 WindowManager。WindowManager 提供的三个接口方法 addView、updateViewLayout 以及 removeView
<7>View System:
测量各个UI元素的尺寸, 确定各个UI的位置, 内容发生变化时重绘, 接收事件、分配事件, 处理来自wms的很多和窗口状态有关的回调
<8> PackageManager:
管理应用程序包,通过它可以获取应用程序信息。
<9>TelephoneManager:
获取手机相关信息, 比如:手机IMEI号, IMSI, 手机号, 手机型号, sdk版本等等
<10>LocationManager
位置相关功能, 比如获取经纬度
<11>XMPPManager
即时通讯相关功能

3.系统运行库层(Native)

系统运行库层分为两部分,分别是C/C++程序库和Android运行时库。下面分别来介绍它们。
1.C/C++程序库
C/C++程序库能被Android系统中的不同组件所使用,并通过应用程序框架为开发者提供服务,主要的C/C++程序库如下表2所示。
名称 功能描述
OpenGL ES 3D绘图函数库
Libc 从BSD继承来的标准C系统函数库,专门为基于嵌入式Linux的设备定制
Media Framework 多媒体库,支持多种常用的音频、视频格式录制和回放。
SQLite 轻型的关系型数据库引擎
SGL 底层的2D图形渲染引擎
SSL 安全套接层,是为网络通信提供安全及数据完整性的一种安全协议
FreeType 可移植的字体引擎,它提供统一的接口来访问多种字体格式文件
表2
2.Android运行时库
运行时库又分为核心库和ART(5.0系统之后,Dalvik虚拟机被ART取代)。核心库提供了Java语言核心库的大多数功能,这样开发者可以使用Java语言来编写Android应用。相较于JVM,Dalvik虚拟机是专门为移动设备定制的,允许在有限的内存中同时运行多个虚拟机的实例,并且每一个Dalvik 应用作为一个独立的Linux 进程执行。独立的进程可以防止在虚拟机崩溃的时候所有程序都被关闭。而替代Dalvik虚拟机的ART 的机制与Dalvik 不同。在Dalvik下,应用每次运行的时候,字节码都需要通过即时编译器转换为机器码,这会拖慢应用的运行效率,而在ART 环境中,应用在第一次安装的时候,字节码就会预先编译成机器码,使其成为真正的本地应用。

4.硬件抽象层(HAL)

硬件抽象层是位于操作系统内核与硬件电路之间的接口层,其目的在于将硬件抽象化,为了保护硬件厂商的知识产权,它隐藏了特定平台的硬件接口细节,为操作系统提供虚拟硬件平台,使其具有硬件无关性,可在多种平台上进行移植。 从软硬件测试的角度来看,软硬件的测试工作都可分别基于硬件抽象层来完成,使得软硬件测试工作的并行进行成为可能。通俗来讲,就是将控制硬件的动作放在硬件抽象层中。

5. Linux内核层

Android 的核心系统服务基于Linux 内核,在此基础上添加了部分Android专用的驱动。系统的安全性、内存管理、进程管理、网络协议栈和驱动模型等都依赖于该内核。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值