您的位置:首页 > 运维架构 > 网站架构

Android架构及特性

2015-05-25 23:16 134 查看
本文参考《疯狂Java讲义》进行整理,作学习笔记!

1.Android平台架构及特性

Android系统的底层建立在Linux系统之上,该平台由操作系统,中间件,用户界面和应用软件四层组成,它采用一种被称为软件层(Software Stack)的方式进行构建。

(1) 应用程序层

Android系统将会包含系列的核心应用程序,这些程序包括电子邮件客户端,SMS程序,日历,地图,浏览器,联系人等。这些应用程序都是用Java编写的。

(2) 应用程序框架

当我们开发Android应用程序时,就是面向底层的应用程序框架进行的。从这个角度来看,Android系统上的应用程序是完全平等的,不管是Android系统提供的程序,还是普通开发者提供的程序,它们都可以访问Android提供的API框架。

(3) 函数库

Android包含一套不同组件所使用的C/C++库的集合;一般来说,Android应用开发者不能直接调用这套C/C++库集,但是可以通过它上面的应用程序框架来调用这些库。

下面列一些核心库:

系统C库:一个从BSD系统派生出来的标准C系统库(libc),并且专门为嵌入式Linux设备调整过;

媒体库:基于PacketVideo的OpenCore,这套媒体库支持播放和录制许多流行的音频和视频格式,以及查看静态图片,主要包括MPEG4,H.263,MP3,AAC,AMR,JPG,PNG等多媒体格式;

Surface Manger:管理对显示子系统的访问,并可以对多个应用程序的2D和3D图层机提供无缝整合

LibWebCore:一个全新的Web浏览器引擎,该引擎为Android浏览器提供支持,也为WebView提供支持,WebView完全可以嵌入开发者自己的应用程序中;

SGL:底层的2D图形引擎

3D libraries:基于OpenGL ES 1.0 API实习的3D系统,这套3D库既可以使用硬件3D加速(如果硬件系统支持),也可以使用高度优化的,软件3D加速;

FreeType:位图和向量字体显示

SQLite:功能强大的轻量级关系数据库;

2. Android运行时

Android运行时由两部分组成:Android核心库集和Dalvik虚拟机;其中核心库集提供了Java语言核心库所能使用的绝大部分功能,而该虚拟机则负责运行Android应用程序;

每个Android应用程序都运行在单独的一个Dalvik虚拟机内,因此Dalvik专门针对同时高效地运行多个虚拟机进行了优化,因此Android系统可以方便地实现对应用程序的隔离;

JVM虚拟机运行的是Java字节码(通常就是.class文件),但Dalvik运行的是其专有的dex(Dalvik Executable)文件;JVM直接从.class文件或JAR包中加载字节码然后运行;而Dalvik则无法直接从.class文件或JAR包中加载字节码,它需要通过DX工具将应用程序的所有.class文件编译成.dex文件,Dalvik运行该.dex文件;

Dalvik虚拟机依赖于Linxu内核提供的核心功能,如线程和底层内存管理;

3.ADT,SDK,DDMS,ADB等使用(待补充!)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: