Android系统架构简介


Android 系统架构

万丈高楼平地起,说的是重在基础,用来形容Android的学习正好合适(人往高处走,基础扎实,水平才能稳步提高)。上篇“Android 初级之路-Android 发展史”我们知道了Android的由来及历史发展,本篇我们继续来了解其基础--Android系统架构。

Android是基于Linux内核的操作系统并对Linux内核进行了加强,如其系统架构图(我是用Viso作图的),其系统架构采用分层思想,从上到下分别为Application(应用层)、Application Framework(应用框架层)、Libraries and Android Runtime(系统库及Android运行时,系统运行库层)和Linux Kernel(Linux内核层)。

Android应用层

Android应用层提供的服务即我们常说的应用,它是与用户直接交互的,如系统自带的日历、通话、短信、浏览器等以及我们在Android应用商店(不同的手机品牌叫法不一样)中下载的打飞机游戏、音乐软件等,其提供了实实在在的功能供用户使用。

Android应用框架层

Android应用框架层提供了开发Android应用程序所需的一系列类库,通常是系统API接口,使开发人员可以方便、快速地构建应用整体框架,其具体的模块内容及功能如下:

(1)Activity Manager(活动管理器):管理各个应用程序活动窗口并为窗口提供交互的接口;(2)Window Manager(窗口管理器):管理所有开启的窗口程序;(3)Content Provider(内容提供者):提供应用内或应用程序间数据共享功能;(4)View System:创建应用程序基本视图组件,如ListView、TextView、WebView等控件;(5)Notification Manager(通知管理器):用户可以自定义状态栏中的提示信息;(6)Package Manager(包管理器):应用程序安装进手机后,以包名作为文件夹名进行存储,此API提供诸如应用程序的安装与卸载功能以及提示相关的权限信息;(7)Resource Manager(资源管理器):提供图片、音视频等非代码资源;(8)Location Manager(位置管理器):提供位置信息服务;(9)Telephony Manager(电话管理器):管理所有移动设备功能;(10)XMPP服务:Google提供的后台推送服务;

Android系统运行库层

Android系统运行时库层包含两部分内容,一个是系统库,一个是Android运行时。

系统库提供了系统功能通过Android应用程序框架层为开发者提供服务,其类库的内容主要包含数据库、2D/3D图形处理引擎、多媒体库、数据传输服务等。另外,Android NDK(Android Native Development Kit,Android原生库)也为开发者提供了直接使用Android系统资源的能力。

Android运行时包含核心库与Dalvik虚拟机两部分。(1)核心库提供了Java SE API 的绝大多数功能,并提供Android的核心API,如android.os、android.net、android.util、android.meida等。(2)Dalvik虚拟机是基于Apache的Java虚拟机,被改进以适应低内存、低处理速度的移动设备环境,负责运行Android应用程序,提供实现进程隔离与线程调试管理、安全和异常管理、垃圾回收等重要功能。

Android Linux内核层

Android Linux内核层作为系统架构的最底层借助Linux内核服务实现硬件设备驱动,从而为上层提供诸如进程与内存管理、网络协议栈、电源管理以及驱动模型等功能,同时Linux内核也是硬件与软件之间的抽象层(Hardware Abstract Layer,HAL),它是对硬件设备具体实现的抽象,这样开发者就无需考虑系统底部的实现细节,提高开发效率了。

总结

这就是Android 四层架构模型的简介,从Android架构图中我们可以发现,上层依赖下层或底层提供的各种功能或服务,它们之间相互独立且分工明确,这种分层结构保证了层与层之间的低耦合,当下层或下层层内发生改变时,上层应用无需任何改变,开发者能专心于应用层的开发。

只因坚持,所有不曾放弃;只因努力,所以遇见美好。(文章好,鸡汤更好)

坚持是我们最初的梦想(图片来源于网络)

郑重声明:不会PS,最后一张图来源于网络了(若有侵权,上一楼,右转,我在点赞室等你)。




更多相关文章

  1. 2017-1-1 从内核调教开始
  2. Android核心模块内容概述
  3. Android之四大组件
  4. Android(安卓)9.0 网络权限的问题以及android:usesCleartextTraf
  5. Android笔记四 虚拟机Dalvik、Android各种java包功能、Android相
  6. Android(安卓)内核源代码交叉编译
  7. Android内核的大致分析
  8. android 退出activity 的方式总结
  9. Android核心模块及相关技术

随机推荐

  1. android开发之android:padding和android:
  2. EditText 文字验证
  3. Windows下git下载android source
  4. Android 获取手机卡相关信息
  5. Android:控件布局(相对布局)RelativeLayout(
  6. Android开发环境搭建
  7. widget(4、spinner)
  8. Android ApiDemos示例解析(140):Views->L
  9. Android 小的知识片
  10. 取消自动获取焦点(默认进来焦点到edittex