|
|
|
|
移动端

1.3.3 各种库(Libraries)和Android运行环境(RunTime)——中间层

《Android Studio应用开发实战详解》第1章Android开发基础,在本章的内容中,将简单介绍Android系统的诞生背景和发展历程,为读者步入本书后面知识的学习打下基础。本节为大家介绍各种库(Libraries)和Android运行环境(RunTime)——中间层。

作者:王翠萍来源:人民邮电出版社|2017-09-29 12:44

技术沙龙 | 6月30日与多位专家探讨技术高速发展下如何应对运维新挑战!


1.3.3 各种库(Libraries)和Android运行环境(RunTime)——中间层

可以将Android系统的中间层次分为两个部分,一个是各种库,另一个是Android运行环境。Android系统的中间层次的内容大多是使用C实现的,其中包含如下所示的各种库。

C库:C语言的标准库,也是系统中一个最为底层的库,C库是通过Linux的系统调用来实现。

多媒体框架(MediaFrameword):这部分内容是Android多媒体的核心部分,基于PacketVideo(即PV)的OpenCORE,从功能上本库一共分为两大部分,一部分是音频、视频的回放(PlayBack),另一部分是则是音视频的记录(Recorder)。

SGL:2D图像引擎。

SSL:即Secure Socket Layer位于TCP/IP与各种应用层协议之间,为数据通信提供安全支持。

OpenGL ES:提供了对3D图像的支持。

界面管理工具(Surface Management):提供了对管理显示子系统等功能。

SQLite:一个通用的嵌入式数据库。

WebKit:网络浏览器的核心。

FreeType:位图和矢量字体的功能。

在Android系统中,各种库一般以系统中间件的形式提供,它们都有一个显著的特点:与移动设备的平台的应用密切相关。

在以前的版本中,Android运行环境主要是指Android虚拟机技术:Dalvik。Dalvik虚拟机与Java虚拟机(Java VM)不同,它执行的不是Java标准的字节码(Bytecode),而是Dalvik可执行格式(.dex)中的执行文件。在执行的过程中,每一个应用程序即一个进程(Linux的一个Process)。二者最大的区别在于Java VM是基于栈的虚拟机(Stack-based),而Dalvik是基于寄存器的虚拟机(Register-based)。显然,后者最大的好处在于可以根据硬件实现更大的优化,这更适合移动设备的特点。

从Android 4.4开始,默认的运行环境是ART。ART的机制与Dalvik不同。在Dalvik机制下,应用每次运行的时候,字节码都需要通过即时编译器转换为机器码,这会拖慢应用的运行效率。而在ART环境中,应用在第一次安装的时候,字节码就会预先编译成机器码,使其成为真正的本地应用。这个过程叫作预编译(Ahead-Of-Time,AOT)。这样,应用的启动(首次)和执行都会变得更加 快速。


喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

数据库加密——最后的防线

本书是关于如何使用已有的密码技术和算法对数据库中存储的信息进行保护的书,书中所关注的内容主要是如何设计、建立(或者挑选、集成)一套...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊