栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > 架构设计

【Android 】零基础到飞升 | 背景相关与系统架构分析

架构设计 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【Android 】零基础到飞升 | 背景相关与系统架构分析

1.1 背景相关与系统架构分析 1.Android背景与当前的状况

Android系统是由Andy Rubin创建的,后来被Google收购了;最早的版本是:Android 1.1版本 而现在最新的版本是今年5.28,Google I/O大会上推出的Android M,有趣的是Android系统的命名都是以点心来命名的,下述表是15个Android版本名称,对应API号以及发布时间!

系统版本名称 API版本号 发布时间
Android 1.5:Cupcake:纸杯蛋糕 3 2009.4.30
Android 1.6:Donut:甜甜圈 4 2009.9.15
Android 2.0/2.0.1/2.1:Eclair:松饼 5/6/7 2009.10.26
Android 2.2/2.2.1:Froyo:冻酸奶 8 2010.5.20
Android 2.3:Gingerbread:姜饼 9 2010.12.7
Android 3.0:Honeycomb:蜂巢 11 2011.2.2
Android 3.1:Honeycomb:蜂巢 12 2011.5.11
Android 3.2:Honeycomb:蜂巢 13 2011.7.13
Android 4.0:Ice Cream Sandwich:冰激凌三文治 14 2011.10.19
Android 4.1:Jelly Bean:果冻豆 16 2012.6.28
Android 4.2:Jelly Bean:果冻豆 17 2012.10.30
Android 4.3:Jelly Bean:果冻豆 18 2013.7.25
Android 4.4:KitKat:奇巧巧克力 19 2013.11.01
Android 5.0:Lollipop:棒棒糖 21 2014.10.16
Android M:预览版 22 2015.5.28
Android Beta,发布于2007年11月5日,同时的软件开发套件(SDK),发布于2007年11月12日。 11月5日被认为是Android的"生日"。
Android版本名称Code nameAndroid版本版本发布时间对应API
(no code name)1.0 2008年9月23日API level 1
(no code name)1.1 2009年2月2日API level 2
Cupcake1.5 2009年4月17日API level 3,NDK 1
Donut1.6 2009年9月15日API level 4,NDK 2
Eclair2.0.12009年12月3日API level 6
Eclair2.1 2010年1月12日API level 7,NDK3
Froyo2.2.x2010年1月12日API level 8,NDK 4
Gingerbread2.3 – 2.3.22011年1月1日API level 9,NDK5
Gingerbread2.3.3 – 2.3.72011年9月2日API level 10
Honeycomb3.0 2011年2月24日API level 11
Honeycomb3.12011年5月10日API level 12,NDK 6
Honeycomb3.2.x2011年7月15日API level 13
Ice Cream Sandwich4.0.1 – 4.0.22011年10月19日API level 14,NDK 7
Ice Cream Sandwich4.0.3 – 4.0.42012年2月6日API level 15,NDK 8
Jelly Bean4.12012年6月28日API level 16
Jelly Bean4.1.12012年6月28日API level 16
Jelly Bean4.2-4.2.22012年11月API level 17
Jelly Bean4.32013年7月API level 18
KitKat4.42013年7月24日API level 19
Kitkat Watch4.4W2014年6月API level 20
Lollipop(Android L)5.0/5.12014年6月25日API level 21/API level 22
Marshmallow(Android M)6.0 2015年5月28日API level 23

Nougat(Android N)

Nougat(Android N)

7.0 

7.1

                               2016年5月18日

                               2016年12月

API level 24

API level 25

Oreo(Android O)8.0 2017年8月22日API level 26
Oreo(Android O)8.12017年12月5日API level 27

Pie (Android P)

不是凤梨酥(PineappleCake)

9.02018年8月7日API level 28
10(Android Q 不叫 Q,正式命名为 Android 10。谷歌改变了Android OS的命名习惯,不会再按照基于美味零食或甜点的字母顺序命名,而是转换为版本号)10.02019年9月3日API level 29
1111.02020年9月9日API level 30
Android的版本,有个API Level,对应着某个Android发布版本的名称。

好了,除了上面这些公共版本外,当然还有一些其他的版本,截止2015.1,各个版本的市场份额如下:


看完上面的信息,我们可能有这样的一个疑问: 那么多的系统版本,我们开发的时候要针对哪个版本进行开发? 这就是作为一个Android必须面对的Android的"碎片化"问题了,而这个问题又分为两个: ①系统碎片化:我们开发App时可能需要做到低版本兼容,比如,最低兼容至2.3版本;由于各种Rom定制的盛行,国人都喜欢对原生系统做一些更改,这导致了在原生系统上可行,而在定制Rom上不可行的问题,比如相机调用~ ②屏幕碎片化:市面上各种各样屏幕尺寸的手机,4.3寸,4.5寸,4.7寸,5.0寸,5.3寸...等等,除了手机外,还有Android平板,所以开发时我们可能要处理这个屏幕适配的问题,当然,刚学我们并不需要去考虑这些复杂的东西,后续实际开发我们再来深究!

2.Android系统特性与平台架构 系统特性:
  • 应用程序框架支持组件的重用与替换(app发布时遵守了框架的约定,其他app也可以使用该模块)
  • Dalvik虚拟机:专门为移动设备优化 -集成的浏览器:开源的WebKit引擎
  • SQLite结构化的数据存储
  • 优化的图形库,多媒体支持,GSM电话技术,蓝牙等
  • 采用软件叠层方式构建
平台架构图:

架构的简单理解:
  1. Application(应用程序层) 我们一般说的应用层的开发就是在这个层次上进行的,当然包括了系统内置的一组应用程序,使用的是Java语言
  2. Application Framework(应用程序框架层) 无论系统内置或者我们自己编写的App,都需要使用到这层,比如我们想弄来电黑名单,自动挂断电话,我们就需要用到电话管理(TelephonyManager) 通过该层我们就可以很轻松的实现挂断操作,而不需要关心底层实现
  3. Libraries(库) + Android Runtime(Android运行时) Android给我们提供了一组C/C++库,为平台的不同组件所使用,比如媒体框架;而Android Runtime则由Android核心库集 + Dalvik虚拟机构成,Dalvik虚拟机是针对移动设备的虚拟机,它的特点:不需要很快的CPU计算速度和大量的内存空间;而每个App都单独地运行在单独的Dalvik虚拟机内每个app对于一条Dalvik进程)而他的简单运行流程如:
  4. Linux内核 这里就是涉及底层驱动的东西了,一些系统服务,比如安全性,内存管理以及进程管理等
3.本节小结:

本节对Android的历史背景以及现状进行了了解,然后简单分析了Android的系统特性以及系统架构,这些概念性的东西,我们了解了解即可,而下一节我们将开始Android环境的搭建!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/908568.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号