当前位置: 移动互联网学院 > Android开发 > Android系统架构
Android系统架构 时间:2017-11-02     来源:移动互联网学院

Android的系统架构从初学时先就要了解,并且贯穿始末。它不仅让我们从宏观上认识了Android系统,同时,也给我们的学习与实践指明了方向。若是从事Android应用开发,那掌握Android的系统架构是必要之一。

Android系统架构采用了分层架构的思想,如下图1所示(图片为网上搜索所得)。

图1 Android系统架构图

图中显示,从上层到底层共包括四层,分别是应用程序层、应用框架层、系统库和Android运行时和Linux内核。如图2所示,这是从全局宏观上所分的层次,一个Android工程建立在这四层基础上的,每个Android项目也遵循这个层次规则。

图2 Android系统架构图层次

下面介绍一下每层的功能:

一 应用程序层(APPLICATIONS)

功能:提供一些核心应用程序包,例如电子邮件、短信、日历、地图、浏览器和联系人管理等。

开发语言:Java语言设计开发应用程序

新开发应用程序与那些核心应用程序彼此平等、友好共处。

二 应用程序框架层(APPLICATION FRAMEWORK)

功能:提供系统API(应用接口)框架并 开发新的API

开发语言:Java语言

该层是Android应用开发的基础,开发人员大部分情况是在和她打交道。应用程序框架层包括活动管理器、窗口管理器、内容提供者、视图系统、包管理器、电话管理器、资源管理器、位置管理器、通知管理器和XMPP服务十个部分。在Android平台上,开发人员可以完全访问核心应用程序所使用的API框架。并且,任何一个应用程序都可以发布自身的功能模块,而其他应用程序则可以使用这些已发布的功能模块。基于这样的重用机制,用户就可以方便地替换平台本身的各种应用程序组件。

三 系统库和Android运行时

功能:提供系统库(包含已经实现的功能)和运行时所需的环境(虚拟机等)

开发语言:Java语言、C、C++语言

系统库包括九个子系统,分别是图层管理、媒体库、SQLite、OpenGLEState、FreeType、WebKit、SGL、SSL和libc。Android运行时包括核心库和Dalvik虚拟机,前者既兼容了大多数Java语言所需要调用的功能函数,又包括了Android的核心库,比如android.os、android.net、android.media等等。后者是一种基于寄存器的java虚拟机,Dalvik虚拟机主要是完成对生命周期的管理、堆栈的管理、线程的管理、安全和异常的管理以及垃圾回收等重要功能。

四 Linux内核

功能:提供linux驱动和相关驱动等,可自主开发

开发语言:C语言

Android核心系统服务依赖于Linux2.6内核,如安全性、内存管理、进程管理、网络协议栈和驱动模型。Linux内核也是作为硬件与软件栈的抽象层。驱动:显示驱动、摄像头驱动、键盘驱动、WiFi驱动、Audio驱动、flash内存驱动、Binder(IPC)驱动、电源管理等。

后总结一下:

Android的系统架构采用分层的思想,结构清晰,每个层次之间分工明确,相互合作。这很大的程度上降低了Android工程开发的难度,也给初学者提供一个由浅及深的学习途径。如果你现在对Android有兴趣,或者你已经踏上了学习旅程,希望这些可以给你提供些许的帮助,和我们一起加油吧!后感谢网上的提供借鉴资料的大神们,给了我很大的帮助。