安卓操作系统架构基本概念

安卓操作系统架构基本概念_第1张图片

1 Linux 内核

安卓平台是基于linux内核,并且移除GNU GPL授权约束部分,安卓将驱动从内核移到用户空间,将linux的驱动和内核分开内核包括安全,存储器管理,程序管理,网络堆栈等。

2 硬件抽象层(HAL)

  是以封闭源码形式提供硬件驱动模块。HAL是把安卓框架和linux内核分开,让内核尽量独立,让安卓框架开发尽量不考虑驱动程序的影响。

3 安卓 Runtime

  每个应用都在其自己的进程中运行,并且有自己的安卓 Runtime(ART)。

4 原生C/C++库

   许多的安卓系统核心组件和服务有原生代码构建,比如ART和HAL,需要C和C++编写原生库,安卓平台提供Java框架API,比如Java OpenGL API能够访问OpenGL ES,支持应用中绘制2D和3D图形。

5 Java API框架

  通过Java语言编写API使用安卓OS 的整个功能集,API创建安卓需要的构架模块,包括以下组件和服务:

  1. 丰富和扩展视图系统,构建应用的UI,包括列表,网格,文本框,按钮,网络浏览器等。
  2. 资源管理器,访问非代码资源,如本地化字符串,图形和布局文件。
  3. 通知管理器,让所有应用在状态栏显示自定义提醒。
  4. Activity管理器,管理应用的生命周期,提供常见的导航返回栈。
  5. 内容提供程序,让应用访问其他的应用。

6 系统应用

   系统自带一套应用软件。

7 安卓四大应用组件

  1. 活动(Activity)

Activity是所有程序的根本,所有的程序都在activity中运行,是安卓最基本的模块之一,一个安卓应用一般有多个activity组成,在多个activity之间的安卓应用可以进行互相跳转,把跳转之前的信息存放在堆栈中,

  1. 服务(Service)

是安卓系统的一种组件,跟Activity级别差不多,但是不能自已运行,只能在后台运行,可以和其他组件进行交互,service是没有界面的长生命周期的代码。

  1. 广播接收器(BoardcastReceiver)

是一种运用在应用程序之间传输信息的机制。

  1. 内容提供者(Content Provider)

是安卓提供的第三方的应用数据的访问方案。

 

你可能感兴趣的:(操作系统,android,架构,java)