Android操作系统架构

来源:互联网 发布:如何重启linux服务器 编辑:程序博客网 时间:2024/05/21 07:48

Android 操作系统大致可以在4 个主要层面上分为以下5 个部分:
● Linux 内核:
这是Android 所基于的核心。这一层包括了一个Android 设备的各种硬件组件的所有低层设备驱动程序。
● 库:
包括了提供Android 操作系统的主要功能的全部代码。例如,SQLite 库提供了支持应用程序进行数据存储的数据库。WebKit 库为浏览Web 提供了众多功能。
● Android 运行时:
它与库同处一层,提供了一组核心库,Android核心库提供了Java核心库以及Android特定库可用的大部分功能,可以使开发人员使用Java编程语言来写Android 应用程序。
Android 运行时还包括Dalvik 虚拟机,Dalvik 虚拟机并不是一个传统的Java虚拟机,它是一个基于寄存器的虚拟机,它已经被优化从而确保一个设备可以高效地运行多个实例,它依赖Linux内核进行线程和底层内存管理。Dalvik虚拟机使用设备的底层Linux内核来处理基本的功能,包括安全、线程以及进程和内存管理。
每个Android 应用程序都在它自己的进程中运行,都拥有一个自己的Dalvik 虚拟机实例(Android应用程序被编译成Dalvik可执行文件,即.dex文件)。Dalvik 是特别为Android 设计,并为内存和CPU 受限的电池供电的移动设备进行过优化的专门的虚拟机。
● 应用程序框架:
提供了用来创建Android应用程序的类,它还对硬件访问提供了一般抽象,并管理用户界面和应用程序资源。应用程序框架对应用程序开发人员公开了Android 操作系统的各种功能,使他们可以在应用程序中使用这些功能。
● 应用程序:
所有的应用程序,包括原生的和第三方的,都在应用层上使用相同的库进行构建。应用层运行在Android运行时内,并且使用了应用程序框架中可用的类和服务。在这个最顶层中,可以找到Android 设备自带的应用程序(例如电话、联系人、浏览器等),以及可以从Android Market 应用程序商店下载和安装的应用程序。您所写的任何应用程序都处于这一层。

以上参考:《Android 4 高级编程》


Android运行时环境
运行时环境包括:java的核心类库,虚拟机Dalvik,Dalvik与传统的Java虚拟机不同在于:
1、Dalvik 基于寄存器,而JVM 基于栈。基于寄存器的虚拟机对于更大的程序来说,在它们编译的时候,花费的时间更短。
2、Dalvik运行.dex文件,编译时会将class和jar文件转换为.dex。.dex文件比class文件更紧凑更高效,这是针对Android设备内存有限且通过电池供电,能耗要低的特点作出的重大改进。
3、Dalvik 经过优化,允许在有限的内存中同时运行多个虚拟机的实例,并且每一个Dalvik 应用作为一个独立的Linux 进程执行。独立的进程可以防止在虚拟机崩溃的时候所有程序都被关闭。
4、Android附带的Java库与传统的java库也有很多的不同,当然也有很大一部分相同,做了很多改进。

摘自:http://sishuok.com/forum/blogPost/list/2619.html


0 0
原创粉丝点击