1.1 项目背景
在2007年11月5号那天,谷歌宣布了一个叫安卓的智能手机系统诞生了。这款基于Linux平台的开源智能手机操作系统也不会想到在之后的发展中会这么迅捷。该平台由四大部分组成。包括中间件,操作平台,用户界面和应用软件。在IOS还没有发布前,这款操作系统可以说是完美并且真正自主的移动手机智能操作系统。
由此可见,因为安卓操作系统的自身开源性,并且给予的Linux内核,所以一个OHA成员可以随意的发布使用修改现有的安卓SDK包。安卓系统的另一个显著特点也是基于安卓系统开源性延伸出的——拓展性。又因为上述的特点,提供优良操作开发性的系统有利于众多程序开发员的集中开发,从而使得优秀软件的集群。同时,通过“定制化开发”能满足不同终端厂商的特殊化需求。Android图标类似一个豌豆机器人,十分可爱,如1所示。
1安卓图标
1.1.1 Android系统的结构
Android采用了和其他操作系统一样的分层架构。如图2所示。从架构图看,安卓分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux核心层。蓝色的代表JAVA程序,黄色的代码为运行JAVA程序而实现的虚拟机,绿色部分为C/C++语言编写的程序库,红色的代码内核(Linux内核+drvier)[3]。
2 Android系统架构图
1.应用程序
安卓系统自带了很多应用程序,比如邮箱,短信,照相等等,但都只能使用JAVA语言进行编写。
2.应用程序框架
因为Android系统的开源性,ROOT人员可以完全访问Android系统的API架构。API的框架架构设计简化了程序组件的重用;任何应用程序都可以使用别的任意应用程序发布的他所使用的功能块(不过得遵循框架的安全性限制)。因此,用户可以非常方便的替换无用的程序组件通过这种应用程序重用机制。
3.系统运行库
1)程序库
当然Android也包含一些C/C++库,Android系统中不同的组件能使用这些内嵌在其中的程序库。
2)Android 运行库
Android系统拥有一个智能操作系统必有的核心库,该核心库可以提供众多需要用JAVA代码编写的实用功能。
因为系统规则的限制,每一个安卓应用程序都有自己独一无二的进程,也就是说它们有一个自己的虚拟机实例,简称Dalvik。Dalvik虚拟机执行(.dex)的Dalvik可执行文件,因为该格式文件进行了优化处理,所以小内存也可以完美运行。由于寄存器使得虚拟机得以运行,所有的虚拟机里的类都可以用JAVA进行编译修改,然后再由发布的SDK进行转换,使虚拟机得以运行.dex格式的文件
依赖于Linux内核的部分功能的Dalvik虚拟机,有线程机制和底层内存管理机制。
4.Linux 内核
硬件和软件栈之间的抽象层也是Linux内核充当的。另外还对其做了部分修改,主要涉及两部分修改:
1).Binder (IPC):可以提供有效的进程间通信,虽然Linux内核本身已经提供了这个有效的进程间通信功能,但Android系统还有很多服务都需要用到该功能,为了进一步优化服务其实现了自己的一套。
2).电源管理:提供了节能模式,因为是手持设备,低能耗才是硬道理。
1.1.2 Android的优点[6,7]
1.获得众多厂商青睐的开源性:因为安卓手机操作系统对厂家都没限制,所以使得除了诺基亚和苹果外的所有手机厂家都支持安卓系统,其他的手机大牌厂商悉数支持Android系统,因为市场的竞争激烈,促使厂商的不断开发,才有了用户现在可以任意选择的多种安卓界面。
2.高速发展的应用程序:由于Android系统的开放性,很多团队和个人投身Android应用程序的开发中,这必将带来更多优秀的应用程序。 基于Android的手机信息查询助手获取运行信息设计模块(2):http://www.youerw.com/jisuanji/lunwen_18895.html