前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >android系统结构和源码版本

android系统结构和源码版本

作者头像
李小白是一只喵
发布2020-04-24 12:55:01
7490
发布2020-04-24 12:55:01
举报
文章被收录于专栏:算法微时光算法微时光

Android的系统架构采用了分层架构的思想,如图。从上层到底层共包括四层: 1.应用层 2.应用框架层 3.系统库和Android虚拟机 4.Linux内核

image.png

应用层

Android的应用程序主要是用户界面(User Interface)方面的,通常以JAVA程序编写,其中还可以包含各种资源文件(放置在res目录中)JAVA程序及相关资源经过编译后,将生成一个APK包。

Android本身提供了主屏幕(Home),联系人(Contact),电话(Phone),浏览器(Browers)等众多的核心应用。

同时应用程序的开发者还可以使用应用程序框架层的API实现自己的程序。

应用框架层

Android的应用程序框架为应用程序层的开发者提供APIs,它实际上是一个应用程序的框架。

系统库和Android虚拟机

该层分为两部分:系统库和android虚拟机。

系统库

主要为C/C++库,这些库能被Android系统中不同的组件使用。它们通过 Android 应用程序框架为开发者提供服务。 以下是一些核心库:

  • C库: 一个从 BSD 继承来的标准 C 系统函数库( libc ), 它是专门为基于 embedded linux 的设备定制的。
  • 媒体库: 基于 PacketVideo OpenCORE;该库支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。编码格式包括MPEG4, H.264, MP3, AAC, AMR, JPG, PNG 。
  • SGL: 2D图像引擎。
  • OpenGL ES: 该库可以使用硬件 3D加速(如果可用)或者使用高度优化的3D软加速。
  • 界面管理工具(Surface Management: 对显示子系统的管理,并且为多个应用程序提 供了2D和3D图层的无缝融合。
  • SQLite: 一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。
  • LibWebCore: 一个最新的web浏览器引擎用,支持Android浏览器和一个可嵌入的web视图。
  • FreeType: 图和矢量字体的功能。

Android 的各种库一般是以系统中间件的形式提供的,它们均有的一个显著特点就是与移动设备的平台的应用密切相关。

Android 运行环境主要指的虚拟机技术——Dalvik。Dalvik虚拟机和一般JAVA虚拟机(Java VM)不同,它执行的不是JAVA标准的字节码(bytecode )而是Dalvik可执行格式(.dex)中执行文件。在执行的过程中,每一个应用程序即一个进程(Linux的一个Process)。 二者最大的区别在于Java VM是以基于栈的虚拟机(Stack-based),而Dalvik是基于寄存器的虚拟机(Register-based)。显然,后者最大的好处在于可以根据硬件实现更大的优化,这更适合移动设备的特点。

Linux内核

Android 的核心系统服务依赖于 Linux 2.6 内核,如安全性,内存管理,进程管理, 网络协议栈和驱动模型。 Linux 内核也同时作为硬件和软件栈之间的抽象层。

Android源码版本和代号

代号

CodeName

版本

API级别

馅饼

Pie

9

API 级别 28

奥利奥

Oreo

8.1.0

API 级别 27

奥利奥

Oreo

8.0.0

API 级别 26

牛轧糖

Nougat

7.1

API 级别 25

牛轧糖

Nougat

7.0

API 级别 24

棉花糖

Marshmallow

6.0

API 级别 23

棒棒糖

Lollipop

5.1

API 级别 22

棒棒糖

Lollipop

5.0

API 级别 21

奇巧

KitKat

4.4-4.4.4

API 级别 19

果冻豆

Jelly Bean

4.3.x

API 级别 18

果冻豆

Jelly Bean

4.2.x

API 级别 17

果冻豆

Jelly Bean

4.1.x

API 级别 16

冰淇淋夹心

Ice Cream Sandwich

4.0.3-4.0.4

API 级别 15,NDK 8

冰淇淋夹心

Ice Cream Sandwich

4.0.1-4.0.2

API 级别 14,NDK 7

蜂窝

Honeycomb

3.2.x

API 级别 13

蜂窝

Honeycomb

3.1

API 级别 12,NDK 6

蜂窝

Honeycomb

3.0

API 级别 11

姜饼

Gingerbread

2.3.3-2.3.7

API 级别 10

姜饼

Gingerbread

2.3-2.3.2

API 级别 9,NDK 5

冻酸奶

Froyo

2.2.x

API 级别 8,NDK 4

松饼

Eclair

2.1

API 级别 7,NDK 3

松饼

Eclair

2.0.1

API 级别 6

松饼

Eclair

2.0

API 级别 5

甜甜圈

Donut

1.6

API 级别 4,NDK 2

纸杯蛋糕

Cupcake

1.5

API 级别 3,NDK 1

(无代号)

(无代号)

1.1

API 级别 2

(无代号)

(无代号)

1.0

API 级别 1

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 应用层
  • 应用框架层
  • 系统库和Android虚拟机
    • 系统库
    • Linux内核
    • Android源码版本和代号
    相关产品与服务
    图像处理
    图像处理基于腾讯云深度学习等人工智能技术,提供综合性的图像优化处理服务,包括图像质量评估、图像清晰度增强、图像智能裁剪等。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档