Andorid系统架构

Andorid系统架构,第1张

Andorid系统架构
  • 一、Linux内核层
  • 二、硬件抽象层(HAL)
  • 三、系统库和Android运行时环境
    • 1、系统库
    • 2、运行时环境
  • 四、应用框架层
  • 五、应用层


Android 是一种基于 Linux 的开放源代码软件栈,为各类设备和机型而创建。Android系统架构从下到上可分为五层:Linux内核层、硬件抽象层、系统运行层、应用框架层、应用层。图片来自Andorid开发者平台。


一、Linux内核层

Android系统是基于Linux内核的,这一层为Android设备的各种硬件提供了底层的驱动,如显示驱动、音频驱动、照相机驱动、蓝牙驱动、Wi-Fi驱动等。Linux 内核作为硬件和软件之间的抽象层,它隐藏具体硬件细节而为上层提供统一的服务。

二、硬件抽象层(HAL)
  • 传统Linux对硬件的 *** 作基本上在内核空间的Linux驱动程序中实现了,Android将对硬件的 *** 作分为了两个部分,Linux驱动和HAL。Linux驱动属于内核空间,HAL则属于用户空间。
  • 从商业角度,如果硬件厂商要对自己硬件的驱动程序全部放入内核空间驱动程序实现,必须遵循GPL协议,必须开源,有了HAL层,只需将核心的算法类代码实现放在HAL层,HAL层属于用户空间,不属于Linux内核,可以开源也可以不开源。
  • 硬件抽象层 (HAL) 提供标准界面,向更高级别的 Java API 框架显示设备硬件功能。HAL 包含多个库模块,其中每个模块都为特定类型的硬件组件实现一个界面,例如相机或蓝牙模块。
三、系统库和Android运行时环境 1、系统库

这一层通过一些C/C++库来为Android系统提供主要的特性支持,如SQLite库提供了数据库的支持,OpenGL|ES库提供了3D绘图的支持,Webkit库提供了浏览器内核的支持。这些功能通过 Android 的应用程序框架为开发者提供服务。

2、运行时环境
  • Android 包含一个核心库的集合,该核心库提供了 Java 编程语言核心库的大多数功能。几乎每一个 Android 应用程序都在自己的进程中运行,都拥有一个独立的 Dalvik 虚拟机实例。
  • Dalvik 是 Google 公司自己设计的用于 Android 平台的 Java 虚拟机。Dalvik 虚拟机是 Google 等厂商合作开发的 Android 移动设备平台的核心组成部分之一,它可以支持已转换为 .dex (Dalvik Executable) 格式的 Java 应用程序的运行。
  • .dex 格式是专为 Dalvik 设计的一种压缩格式,适合内存和处理器速度有限的系统。
  • Dalvik 经过优化,允许在有限的内存中同时运行多个虚拟机的实例,并且每一个 Dalvik 应用作为一个独立的 Linux 进程执行。Dalvik 虚拟机依赖 Linux 内核提供基本功能,如线程和底层内存管理。
四、应用框架层

这一层主要提供了构建应用程序时可能用到的各种API,Android自带的一些核心应用就是使用这些API完成的,开发者也可以使用这些API构建自己的应用程序。包括以下组件和服务:

  • 视图系统(View),可用以构建应用的 UI,包括列表、网格、文本框、按钮甚至可嵌入的网络浏览器。
  • 资源管理器(Resource Manager),用于访问非代码资源,例如本地化的字符串、图形和布局文件。
  • 通知管理器(Notification),可让所有应用在状态栏中显示自定义提醒。
  • 活动管理器(Activity Manager),用于管理应用的生命周期,提供常见的导航返回栈。
  • 内容提供程序(Content Provider),可让应用访问其他应用(例如“联系人”应用)中的数据或者共享其自己的数据。
五、应用层

所有安装在手机上的应用程序都是属于这一层的,比如系统自带的联系人、短信等程序,用户开发的 Android 应用程序也属于这一层,它们都是基于Android系统的API构建的。


参考资料:
1、《第一行代码》
2、https://developer.android.google.cn/guide/platform?hl=zh-cn
3、http://t.zoukankan.com/vijozsoft-p-10600902.html
4、http://c.biancheng.net/view/2891.html

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/726203.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-26
下一篇 2022-04-26

发表评论

登录后才能评论

评论列表(0条)

保存