Android 系统架构 和 各个版本代号介绍
一、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 系统架构 和 各个版本代号介绍的更多相关文章
- Android系统架构说明介绍
Android系统架构说明介绍 Android系统架构和一些普遍的操作系统差不多,都是采用了分层的架构,从他们之间的架构图看,Android系统架构分为四个层,从高层到低层分别是应用程序层.应用程序框 ...
- Android系统架构与系统源码目录
前言 技术博客终于可以恢复正常的更新速度了,原因是我编写的进阶书籍的初稿已经完成,窃以为它将会是Android应用书籍中最有深度的一本,可以说是<Android开发艺术探索>的姊妹篇.在这 ...
- Android进阶(十一)Android系统架构讲解
如果说一个成功男人的背后会有一个默默支持的女人的话,那么一个优越稳定的平台背后必有一个成熟的系统架构所支撑着.那么,Android的系统架构是怎么样的呢?从下图我们可以从整体上有个大致的了解(图片来源 ...
- 我收藏的技术知识图(每张都是大图)关于XX背后的知识、技术图,例如:Linux、Nginx架构、PHP知识卡、机会、HTML5移动、Android系统架构、YII架构的典型流程、Css知识表
我收藏的技术知识图(每张都是大图) HTML5Linux/Unix系统设计思想读书笔记 LinuxMVCJava线程MVCSpring MVCCSS3Nginx架构VimCliCommandsPHP知 ...
- (转)android系统架构及源码目录结构
转自:http://blog.csdn.net/finewind/article/details/46324507 1. Android系统架构: android系统架构采用了分层架构的思想,如下图所 ...
- Android系统架构(一)
一.Android系统版本简介 Android操作系统已占据了手机操作系统的大半壁江山,截至本文写作时,Android操作系统系统版本及其详细信息,已发生了变化,具体信息见下表,当然也可以访问http ...
- (1)-Android学习笔记之:初识Android系统架构和项目结构
Android系统架构 Android程序结构 创建一个Android项目,为初学便于理解,将程序项目结构切换为Project模式,项目结构如下 .gradle和.idea:这两个目录下放的都是And ...
- Android进阶加密-第1章-Android系统架构-读书笔记
第 1 章 Android 系统架构 1.1 Android 系统架构 Android 系统架构分为五层,从上到下依次是应用层.应用框架层.系统运行库层.硬件抽象层和 Linux 内核层. 应用层(S ...
- Android源码分析一 Android系统架构
一 Android系统架构 Linux内核层(Linux Kernel):Android系统基于Linux2.6内核,这一层为Android设备各种硬件提供了底层驱动,如显示驱动.音频驱动.照相机驱动 ...
随机推荐
- 微服务看门神-Zuul
Zuul网关和基本应用场景 构建微服务时,常见的问题是为系统的客户端应用程序提供唯一的网关. 事实上,您的服务被拆分为小型微服务应用程序,这些应用程序应该对用户不可见,否则可能会导致大量的开发/维护工 ...
- [BUAA软工]Alpha阶段测试报告
测试报告 一.测试计划 1.1 功能测试 1.2 UI测试 1.3 测试中发现的bug https://github.com/bingduoduo1/backend/issues/21 https:/ ...
- leetcode 85. 最大矩形
题目描述: 给定一个仅包含 0 和 1 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积. 思路分析: 这题是之前那道最大正方形的进阶,同样是利用dp来求解.通过逐行去计算最大矩形,即优化的 ...
- MySQL百万级数据分页查询及优化
方法1: 直接使用数据库提供的SQL语句 语句样式: MySQL中,可用如下方法: SELECT * FROM 表名称 LIMIT M,N 适应场景: 适用于数据量较少的情况(元组百/千级) 原因/缺 ...
- clumsy 模拟网络丢包延迟
https://www.cnblogs.com/bodboy/p/6015530.html clumsy 能在 Windows 平台下人工造成不稳定的网络状况,方便你调试应用程序在极端网络状况下的表现 ...
- OSPF协议介绍及配置
一.OSPF概述 回顾一下距离矢量路由协议的工作原理:运行距离矢量路由协议的路由器周期性的泛洪自己的路由表,通过路由的交互,每台路由器都从相邻的路由器学习到路由,并且加载进自己的路由表中,而对于这个网 ...
- Roberts算子
https://blog.csdn.net/likezhaobin/article/details/6892176 https://zhuanlan.zhihu.com/p/35032299 Robe ...
- dubbo如何解决循环依赖的问题
在分布式项目中,A调用B, B再调用A,或者A调B,B调用C,C再调用A,形成一个环路时,就会出现循环依赖的问题, 当启动A服务时,需要B服务暴露的接口,找不到就会抛异常,B服务启动时,需要同样需要 ...
- mac ffmpeg mediainfo视频压缩
最近在开发官网,官网上放了一些视频,但是本宝宝拿到的都是100多.200多.300多兆的原视频,怎么把他们变成统统20兆呢?宝宝用了如下方法,很好用哟- 1.安装视频压缩工具下载ffmpeg brew ...
- javascript中var、let、const的区别
这几天修改别人的js,发现声明变量有的用var,有的用let,那它们有什么区别呢? javascript中声明变量的方式有:var.let.const 1.var (1)作用域: 整个函数范围内,或者 ...