用户:机器人包老师查看:2 回复:8 评论:2 创建时间:2018-08-20T09:08:29
Android的起源
2003 年 10 月,安迪·鲁宾(Andy Rubin)在喵创建了 Android 科技公司(Android Inc.),并与利奇·米纳尔(Rich Miner)、尼克·席尔斯(Nick Sears)、克里斯·怀特(Chris White)共同发展这家公司。Android 系统最初由安迪·鲁宾(Andy Rubin)等人开发制作,最初开发这个系统的目的是创建一个数码相机的先进操作系统,但是后来发现市场需求不够大,加上智能手机市场快速成长,于是 Android 被改造为一款面向智能手机的操作系统。谈到创建 Android 科技公司的原因,鲁宾说:“聪明的移动设备能更好的意识到用户的爱好和要求。”尽管 Android 科技公司的创始人和员工过去都具有各自的科技成就,但是 Android 科技公司的经营只显露出它在智能手机软件的方面,这时鲁宾为 Android 科技公司花光所有钱。
2005 年 8 月 17 日,Google 低调收购了成立仅 22 个月的高科技企业 Android 及其团队。安迪鲁宾成为Google 公司工程部副总裁,继续负责 Android 项目。2007 年 11 月 5 日,谷歌公司正式向外界展示了这款名为 Android 的操作系统,并且在这天谷歌宣布建立一个全球性的联盟组织,该组织由34家手机制造商、软件开发商、电信运营商以及芯片制造商共同组成,并与 84 家硬件制造商、软件开发商及电信营运商组成开放手持设备联盟(Open Handset Alliance)来共同研发改良 Android 系统。
2013 年 09 月 24 日谷歌开发的操作系统 Android 迎来了 5 岁生日,全世界采用这款系统的设备数量已经达到 10 亿台。
顺铂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好了,除了上面这些公共版本外,当然还有一些其他的版本,截止2015.1,各个版本的市场份额如下:

看完上面的信息,我们可能有这样的一个疑问: 那么多的系统版本,我们开发的时候要针对哪个版本进行开发? 这就是作为一个Android必须面对的Android的"碎片化"问题了,而这个问题又分为两个: ①系统碎片化:我们开发App时可能需要做到低版本兼容,比如,最低兼容至2.3版本;由于各种Rom定制的盛行,国人都喜欢对原生系统做一些更改,这导致了在原生系统上可行,而在定制Rom上不可行的问题,比如相机调用~ ②屏幕碎片化:市面上各种各样屏幕尺寸的手机,4.3寸,4.5寸,4.7寸,5.0寸,5.3寸...等等,除了手机外,还有Android平板,所以开发时我们可能要处理这个屏幕适配的问题,当然,刚学我们并不需要去考虑这些复杂的东西,后续实际开发我们再来深究!
系统特性:平台架构图:
- 应用程序框架支持组件的重用与替换(app发布时遵守了框架的约定,其他app也可以使用该模块)
- Dalvik虚拟机:专门为移动设备优化 -集成的浏览器:开源的WebKit引擎
- SQLite结构化的数据存储
- 优化的图形库,多媒体支持,GSM电话技术,蓝牙等
- 采用软件叠层方式构建

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