2015-12-22 18:02:11 10350浏览
Android的系统运行库层由两部分组成,一个是系统库,另一个是Android运行时。本文主要介绍这两部分知识。Android包含一套C/C++库,Android系统的各个组件都在使用,这些功能是通过Android应用框架暴露给Android开发人员的。系统库是应用程序框架的支撑,是连接应用程序框架层与Linux内核层的重要纽带。其主要核心库包括以下几部分。而Android应用程序时采用Java语言编写,程序在Android运行时中执行,其运行时分为核心库和Dalvik虚拟机两部分。
一、系统库
1、Libc—系统c库。一个从BSD继承来的标准C系统函数库,专门为基于EmbeddedLinux的设备定制。
2、Media Framework—多媒体库。Android系统多媒体库,基于PacketVideoOpen、CORE。该库支持录放.并且可以录制许多流行的音频视频格式.还有静态映像文件,包括MPEG4、H.264、MP3、AAC、JPG、PNG等。
3、Surface Manager。主要负责管理针对显示系统的访问,并且为多个应用程序提供2D和3D图层的无缝融合。
4、Webkit浏览器。一个最新的web浏览器引擎,用来支持Android浏览器和一个可嵌入的Web视图。
5、SGL。一个内置的2D图形引擎。
6、SSL。位于TCP/IP与各种应用层协议之间.为数据通信提供支持。
7、OpenGL ES。3D效果的支持。基于OpenGLES 1.0 APIs实现;该库可以使用硬件3D加速或者使用高度优化的3D软加速。
8、greeType。提供位图bitmap和向量vector的字体描述与显示。
9、SQLite。一个对于所有应用程序可用、功能强劲的轻型关系型数据库引擎。
二、Android运行时
1、核心库。核心库提供了Java语言API中的大多数功能,同时也包含Android的一些核心API.如android.OS、android.net、android.media等。
2、Dalvik虚拟机。Android程序不同于J2ME程序,每个Android应用都运行在自己的进程上,享有Dalvik虚拟机为它分配的专有实例,并在该实例中执行。Dalvik虚拟机是一种基于寄存器的Java虚拟机,而不是传统的基于栈的虚拟机,并进行了内存资源使用的优化以及支持多个虚拟机的特点。Java编译器将Java源文件转为class文件,class文件又被内置的dx[具转化为dex格式文件.该格式文件针对最小内存使用做了优化.这种文件在Dalvik虚拟机上注册并运行。在一些底层功能方面,例如线程和低内存管理等.Dalvik虚拟机是依赖Linux内核的。
Android的系统运行库层对于开发者而言是一个需要特别重视的知识点,扣丁学堂Android开发入门与实战课程中对其有重点讲解,感兴趣的读者可以在线免费观看视频。