一、Android 系统架构:

1. linux内核层
Android 基于Linux内核,为Android设备的各种硬件提供底层驱动
  比如: 显示驱动、音频、照相机、蓝牙、Wi-Fi驱动,电源管理等 2. 系统运行库层
通过 C/C++库来为Android系统提供主要的特性支持,
如SQLite库提供了数据库层的支持、
OpenGL|ES库提供了3D绘图的支持
Webkit库提供浏览器内核的支持

这一层还有Android运行时库,
主要提供一些核心库,能够允许开发者使用JAVA来编写Android应用
运行时库还包含了Dalvik虚拟机(5.0后改为ART运行环境),它使得Android应用能够运行在独立的进程中,并且拥有一个自己的Dalvik虚拟机实例
相对于Java虚拟机,dalvik虚拟机转为移动设备定制的,针对手机内存和CPU性能有限的情况进行了优化 3. 应用框架层
主要提供构建应用程序时可能用到的各种API,
Android自带的一些核心应用就是使用这些API完成的,
开发者也可以通过使用这些API来构建自己的程序 4.应用层
所有安装在手机上的应用程序都是属于这一层
比如系统自带的联系人、短信等程序
或者下载的别人的程序
或者自己开发的程序

二、Android 各个版本代号

版本号 系统代号 API 中文含义 发布时间
1.0 Astro Boy & Bender API 1  铁臂阿童木 & 发条机器人 2008.9
1.1 Petit Four API 2  花式小蛋糕 2009.2
1.5 Cupcake API 3 纸杯蛋糕 2009.4
1.6 Donut API 4 甜甜圈 2009.9
2.0 Éclair API 5 泡芙 2009.10
2.0.1 API 6 2009.12
2.1 API 7 2010.1
2.2  Froyo API 8 冻酸奶 2010.5
2.3.0-2.3.2 Gingerbread API 9 姜饼 2010.12
2.3.3-2.3.7 API 10 2011.2
3.0 Honeycomb API 11 蜂巢 2011.2
3.1 API 12 2011.5
3.2.0-3.2.6 API 13 2011.7
4.0.0-4.0.2 Ice Cream Sandwich API 14 冰激凌三明治 2011.10
4.0.3-4.0.4 API 15 2011.12
4.1 Jelly Bean API 16 果冻豆 2012.7
4.2 API 17 2012.11
4.3 API 18 2013.7
4.4  KitKat API 19 奇巧 2013.11
4.4w-4.4w.2 API 20 2014.6
5.0 Lollipop(Android L) API 21 棒棒糖 2014.10
5.1 API 22 2015.3
6.0 Marshmallow(Android M) API 23 棉花糖 2015.10
7.0  Nougat(Android N) API 24 牛轧糖 2016.5
7.1 API 25 2016.10
8.0  Oreo(Android O) API 26 奥利奥 2017.3
8.1 API 27 2017.12
9.0  Pistachio Ice Cream(Android P) API 28 开心果冰淇淋 2018.8
10.0  (未知)(Android Q) API 29   2019.5

Android 系统架构 和 各个版本代号介绍的更多相关文章

  1. Android系统架构说明介绍

    Android系统架构说明介绍 Android系统架构和一些普遍的操作系统差不多,都是采用了分层的架构,从他们之间的架构图看,Android系统架构分为四个层,从高层到低层分别是应用程序层.应用程序框 ...

  2. Android系统架构与系统源码目录

    前言 技术博客终于可以恢复正常的更新速度了,原因是我编写的进阶书籍的初稿已经完成,窃以为它将会是Android应用书籍中最有深度的一本,可以说是<Android开发艺术探索>的姊妹篇.在这 ...

  3. Android进阶(十一)Android系统架构讲解

    如果说一个成功男人的背后会有一个默默支持的女人的话,那么一个优越稳定的平台背后必有一个成熟的系统架构所支撑着.那么,Android的系统架构是怎么样的呢?从下图我们可以从整体上有个大致的了解(图片来源 ...

  4. 我收藏的技术知识图(每张都是大图)关于XX背后的知识、技术图,例如:Linux、Nginx架构、PHP知识卡、机会、HTML5移动、Android系统架构、YII架构的典型流程、Css知识表

    我收藏的技术知识图(每张都是大图) HTML5Linux/Unix系统设计思想读书笔记 LinuxMVCJava线程MVCSpring MVCCSS3Nginx架构VimCliCommandsPHP知 ...

  5. (转)android系统架构及源码目录结构

    转自:http://blog.csdn.net/finewind/article/details/46324507 1. Android系统架构: android系统架构采用了分层架构的思想,如下图所 ...

  6. Android系统架构(一)

    一.Android系统版本简介 Android操作系统已占据了手机操作系统的大半壁江山,截至本文写作时,Android操作系统系统版本及其详细信息,已发生了变化,具体信息见下表,当然也可以访问http ...

  7. (1)-Android学习笔记之:初识Android系统架构和项目结构

    Android系统架构 Android程序结构 创建一个Android项目,为初学便于理解,将程序项目结构切换为Project模式,项目结构如下 .gradle和.idea:这两个目录下放的都是And ...

  8. Android进阶加密-第1章-Android系统架构-读书笔记

    第 1 章 Android 系统架构 1.1 Android 系统架构 Android 系统架构分为五层,从上到下依次是应用层.应用框架层.系统运行库层.硬件抽象层和 Linux 内核层. 应用层(S ...

  9. Android源码分析一 Android系统架构

    一 Android系统架构 Linux内核层(Linux Kernel):Android系统基于Linux2.6内核,这一层为Android设备各种硬件提供了底层驱动,如显示驱动.音频驱动.照相机驱动 ...

随机推荐

  1. 微服务看门神-Zuul

    Zuul网关和基本应用场景 构建微服务时,常见的问题是为系统的客户端应用程序提供唯一的网关. 事实上,您的服务被拆分为小型微服务应用程序,这些应用程序应该对用户不可见,否则可能会导致大量的开发/维护工 ...

  2. [BUAA软工]Alpha阶段测试报告

    测试报告 一.测试计划 1.1 功能测试 1.2 UI测试 1.3 测试中发现的bug https://github.com/bingduoduo1/backend/issues/21 https:/ ...

  3. leetcode 85. 最大矩形

    题目描述: 给定一个仅包含 0 和 1 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积. 思路分析: 这题是之前那道最大正方形的进阶,同样是利用dp来求解.通过逐行去计算最大矩形,即优化的 ...

  4. MySQL百万级数据分页查询及优化

    方法1: 直接使用数据库提供的SQL语句 语句样式: MySQL中,可用如下方法: SELECT * FROM 表名称 LIMIT M,N 适应场景: 适用于数据量较少的情况(元组百/千级) 原因/缺 ...

  5. clumsy 模拟网络丢包延迟

    https://www.cnblogs.com/bodboy/p/6015530.html clumsy 能在 Windows 平台下人工造成不稳定的网络状况,方便你调试应用程序在极端网络状况下的表现 ...

  6. OSPF协议介绍及配置

    一.OSPF概述 回顾一下距离矢量路由协议的工作原理:运行距离矢量路由协议的路由器周期性的泛洪自己的路由表,通过路由的交互,每台路由器都从相邻的路由器学习到路由,并且加载进自己的路由表中,而对于这个网 ...

  7. Roberts算子

    https://blog.csdn.net/likezhaobin/article/details/6892176 https://zhuanlan.zhihu.com/p/35032299 Robe ...

  8. dubbo如何解决循环依赖的问题

    在分布式项目中,A调用B,  B再调用A,或者A调B,B调用C,C再调用A,形成一个环路时,就会出现循环依赖的问题, 当启动A服务时,需要B服务暴露的接口,找不到就会抛异常,B服务启动时,需要同样需要 ...

  9. mac ffmpeg mediainfo视频压缩

    最近在开发官网,官网上放了一些视频,但是本宝宝拿到的都是100多.200多.300多兆的原视频,怎么把他们变成统统20兆呢?宝宝用了如下方法,很好用哟- 1.安装视频压缩工具下载ffmpeg brew ...

  10. javascript中var、let、const的区别

    这几天修改别人的js,发现声明变量有的用var,有的用let,那它们有什么区别呢? javascript中声明变量的方式有:var.let.const 1.var (1)作用域: 整个函数范围内,或者 ...