Android5.0平台架构及特性

Android系统体系结构:

        由图可以看出Android系统的底层是建立在Linux系统上的,其平台由操作系统、中间件、用户界面和应用程序软件共4层组成,所采用的是一层一层叠加的结构,被称为软件叠层(SoftWare Stack)的方式,这种叠成结构使得层与层之间的能够相互分离,保证了层与层之间的低耦合行,当某一层发生变化时,并不影响其上层或下层的改变。


接下来对各层进行简单的介绍:

1、Android核心层(Linux内核)


Android基于Linux2.6提供核心系统服务,例如:安全、内存管理、进程管理、网络堆栈、驱动模型。LinuxKernel也作为硬件和软件之间的抽象层,它隐藏具体硬件细节而为上层提供统一的服务

使用binder作为进程间通讯机制,取代传统进程间通讯机制



2、Android– Hardware Abstraction Layer

在Android平台架构中被称为“硬件抽象层”

目前对此层还不甚了解,可参考:http://blog.csdn.net/luoshengyang/article/details/6567257(老罗的博客)



3、Android层次结构-AndroidRuntime


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

Dalvik虚拟机则是基于寄存器的,而非大多数

        虚拟机所采用的基于栈的实现

Dalvik虚拟机依赖于Linux内核提供基本功能

        如线程和底层内存管理


4、Android层次结构-Libraries

        Android包含了一套被不同组件所用的C/C++库集合。一般来说的话,Android应用开发者不能像调用API一样直接调用这套C/C++库,需要通过上面的应用程序框架来调用,这也就需要用到Android里面的JNI 技术。

接下来对这些核心库进行简单地罗列:

        * 系统C库:从BSD继承来的标准C库。

        * 媒体库:包括多种常用的音频,视频格式回放和录制。同时支持静态图像文件,支持MPEG4,MP3,AAC,JPG,PNG,H.264,AMR等多种编码格式。

        * Surface Manager:管理显示子系统,并为多个应用程序提供2D和3D的无缝融合。   

        * LibWebCore:浏览器引擎。    

        * SGL:底层的2D图形引擎。  

        * 3D librarie:提供3D加速。

        * FreeType:提供位位图和矢量的字体显示。   

        * SQLite:数据库应用。共所有应用程序使用的功能强大的轻量级关系数据库


5、Android层次结构-Application Framework

        通过提供开放的开发平台,Android使开发者能够编制极其丰富和新颖的应用程序。开发者可以自由地利用设备硬件优势、访问位置信息、运行后台服务、设置闹钟、向状态栏添加通知等等,很多很多。

开发者可以完全使用核心应用程序所使用的框架APIs

        应用程序的体系结构旨在简化组件的重用,任何应用程序都能发布他的功能且任何其他应用程序可以使用这些功能(需要服从框架执行的安全限制)。

这一机制允许用户替换组件


6、Android层次结构-Applications

       该层提供一些核心应用程序包,例如电子邮件、短信、日历、地图、浏览器和联系人管理等。同时,开发者可以利用Java语言设计和编写属于自己的应用程序,而这些程序与那些核心应用程序彼此平等、友好共处。

这也是Android魅力的所在:

        对用户:良好的用户体验,强大的用户亲和力

       对开发者:快速而灵活的开发平台,让开发者的灵感能快速转化为产品


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值