【Android】系统架构

Android系统架构图:在这里插入图片描述  上述系统架构图一共分为5层:LinuxKernel、HAL、库、Java Api框架和系统应用层。

1. Linux内核

 Android平台的基础是Linux内核,例如,Android Runtime依靠Linux内核来执行底层功能,例如线程和低层内存管理。Linux内核主要负责硬件的驱动程序、网络、电源、系统安全以及内存管理等功能。

2. 硬件抽象层(HAL)

 硬件抽象层(HAl)提供标准界面,向高级别的Java API框架显示设备硬件功能。HAL包含多个库模块,其中每个模块都为特定类型的硬件组件实现一个界面,比如相机或者蓝牙模块。当API要求访问设备硬件时,Android系统将为该硬件组件加载库模块。

3. 运行库层

 在运行库层中,包括原生C/C++库和Android Runtime库。
 1. 原生C/C++库
  许多核心Android系统组件和服务(如ART和HAL)构建自原生代码,需要C/C++编写的原生库。Android平台提供Java框架API以向应用显示其中部分原生库的功能。比如可以通过Android框架的Java OpenGL API访问OpenGL ES,以支持在应用中绘制和操作2D和3D图形;也有标准的c函数库Libc、openssl、sqlite等。
  如果需要开发c或者c++代码的应用,可以使用Android NDK直接从原生代码访问某些原生平台库。
 2. Android Runtime
  Android runtime负责解析和执行生成的dalvik格式的字节码。
  部分主要功能有:
  ①预先(AOT)和即时(JIT)编译
  ②优化的垃圾回收(GC)
  ③更好的调试支持,包括专用采样分析器,详细的诊断异常和奔溃报告,并且能够设置监视点以监视特定的字段。
  Android还包含一套核心的运行时库,可提供Java API框架使用的java编程语言大部分功能。

4. Android framework(软件应用架构)(API层)

  java应用程序开发人员主要是使用该层封装好的Api进行快速开发。

5. applications应用层

 Android 随附一套用于电子邮件、短信、日历、互联网浏览和联系人等的核心应用。Android开发人员开发的程序也是处于该层,而且与内置的应用有相同的位置。

  上面的四个层次,下层为上层服务,上层需要下层的支持、调用下层的服务,这种严格的分层的方式带来极大的稳定性、灵活性和可拓展性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值