Android系统架构

一、Android系统架构(Android大致可以分为四大架构,五块区域)(Linux内核层、系统运行库层,应用框架层、应用层)

  1. Linux内核层

    Android系统是基于Linux2.6内核的,这一层为Android提供设备的各种硬件提供了底层驱动;

    如显示驱动、音频驱动、照相机驱动、蓝牙驱动、WiFi驱动、电源管理等;

  2. 系统运行库层

    这一层为通过一些C/C++库来为Android系统提供了主要的特性支持,如SQLite库提供了数据库的支持,OpenGL|ES库提供了3D绘图的支持,WebKit库提供了浏览器内核的支持等;

    同样在这一层还有Android运行时库,他提供了一些核心库,能够允许使用Java语言来编写Android应用,另外Android运行时库中还包含了Dalvik虚拟机,他使得每一个Android应用都能运行在独立的进程当中,并拥有自己的Dalvik虚拟机实例,相较于Java虚拟机,Dalvik虚拟机是专门为移动设备定制的,它针对手机的内存和CUP性能有限等情况作了优化;

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

    Media FrameWork:基于PacketVideo OpenCORE,该库支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件,支持的格式有MPEG4、H.264、MP4、MP3、AAC、AMR、JPG、PNG。

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

    SQLite:轻型关系型数据库引擎。

    WebKit:一套网页浏览器的软件引擎。

    FreeType:位图(bitmap)和矢量(vector)字体显示。

    libC:一个从BSD继承来的标准的C系统函数库(libc),它专门为基于embedded Linux的设备定制的。

    SSL:在Android上通信过程中实现握手。

    LibWebCore:一个最新的web浏览器引擎,支持Android浏览器和一个可嵌入的web视图。

    

  3. 应用框架层

    这一层主要提供了构建应用时可能用到的各种API,开发者通过这些API来构建自己的引用程序;

    Activity Manager(活动管理器):管理各个应用程序生命周期以及通常的导航回退功能。

    Windows Manager(窗口管理器):管理所有窗口程序。

    Content Provider (内容提供器):使得不同应用程序之间存取或分享数据。

    View System(视图系统):构建应用程序的基本组件。

    Notification Manager(通告管理器):使得应用程序可以在状态栏中显示自定义的提示信息。

    Package Manager(包管理器):Android系统内的程序管理器。

    Telephony Manager(电话管理器):管理所有的移动设备功能。

    Resource Manager(资源管理器):提供应用程序使用的各种非代码资源,如本地化字符串、图片、颜色文件等。

    Location Manager(位置管理器):提供位置服务。

    XMPP Service(XMPP服务):提供Google Talk服务。

  4. 应用层

    所有安装的在手机上的应用就属于这一层;

 

posted @ 2017-03-08 12:35  Godfunc  阅读(270)  评论(0编辑  收藏  举报