1.1Android的发展和历史
2016-09-19 16:00
344 查看
前言:本人工作快一年了,由于自己感觉基础太差。所以购买了 李刚写的《疯狂Android讲义》来补一补基础,顺便记录以便日后查阅。
1.1.1Android的发展和简介
Android并不是Google创造的,而是由Android公司所创造的,该公司的创始人是Andy Rubin。该公司后来被Google收购,而Andy Rubin也成为了Google公司的Android产品负责人。
Google于2007年11月5日发布了Android1.0手机操作系统,这个版本的Android系统还没赢得广泛的市场支持。
2009年5月,Google发布了Android1.5,该版本的Android提供了一个非常“”豪华””的用户界面,而且提供了蓝牙连接支持。这个版本的Android吸引了大量开发者的目光。接下来,Android的版本更新得较快,目前最新的Android版本是5.0(以我现在写博客的时间来讲,已经是Android6.0了),之后的文章介绍都是以Android5.0这个版本基础讲解的。
目前Android已经成为一个重要的手机操作系统。当前市场上常见的手机操作系统有如下这些。
IOS:Apple公司的手机、平板操作系统,市场占有率极高(非常变态的一个公司,自己一个公司市场份额能高达10%以上,以良好的用户体验和手机流畅度等原因备受 好评和受人们喜爱!本人虽然做Android开发,但也是拿iphone手机)
Windows Phone:Microsoft公司的手机操作系统,2014年发布的最新版本为Windows Phone8.1,但局势依然不够明朗,前途依然堪忧(曾经见过公司的同事是用 window phone手机,给我的感觉就是,里面的APP没有人开发,APP的界面通常都其丑无比,用户体验差!)
BlackBerry:即将被淘汰(没有见过搭载此系统的手机,听我的隋老师曾经讲过,是和以前诺基亚一样带键盘的手机。)
Symbian:已经被彻底淘汰,彻底退出历史舞台。(诺基亚的手机系统,可怜的诺基亚,它并没有做错什么,相信大家都用过诺基亚手机)
目前Android系统的市场占有率已经远远超过IOS,而WP作为Microsoft公司最后的“”赌注“”,自然也是全力以赴,希望至少能与IOS、Android三足鼎立,但目前局势似乎并不乐观。无论从哪个角度看,Android已经成为最主流的手机操作系统。
提示:
事实上,Andoird已经超出了手机操作系统的范畴,Android系统已经广泛应用于TV、手表以及各种可穿戴设备。Android5.0已经专门提供了TV。Wear等系统镜像。(事实证明如此,我身边一些朋友很多都是在物联网公司上班,以我的小车来讲,我的车载搭载的就是Android系统,其实就是一把手机或者可以理解成一个平板)
就目前国内环境来说,已有大量手机厂商开始生产Android操作系统的手机,因为Android手机平台是一个真正开放式的平台,无需支付任何费用即可使用。出于节省研发费用的考虑,不管是对于知名的手机生产厂商,还是大量的山寨手机厂商,Andoird操作平台都是一个不错的选择。
下面附上前段时间Oppo和Vivo玩偶打架的图片和视频大家随意感受下:
http://baidu.ku6.com/watch/03233872004557158284.html?page=videoMultiNeed
从2008年9月22日,T-Mobile在纽约正式发布第一款Android手机T-Moble G1开始,Android系统不断地获得各个手机厂商的青睐。
2010年1月7日,Google在其美国总部正式向外界发布了旗下首款合作品牌手机Nexus One(HTC G5),同时开始对外发售。
目前,已发布搭载Android系统的手机厂商包括:三星、HTC、索尼爱立信、LG等;国内厂商如华为、联想、中兴、小米等也都开始发布搭载Android系统的手机。
1.1.2 Android 5.X平台架构及特性
Android系统的底层建立在Linux系统之上,该平台由操作系统、中间件、用户界面和应用软件4层组成,它采用一种被称为软件叠层(Software Stack)的方式进行构建。这种软件叠层结构使得层与层之间相互分离,明确各层的分工。这种分工保证了层与层之间的低耦合度,当下层的层内或层下发生改变时,上层应用程序无需任何改变。(在大学时期,老师强调了无数次分层的作用,和好处!分层思想。)
Android系统主要由5部分组成。
1.应用程序层(我目前的工作就是负责应用程序层的开发)
Android系统将会包含一系列的核心应用程序,包括电子邮件客户端、SMS程序、日历、地图、浏览器、联系人等。这些应用程序通常都是用JAVA编写的。(大部分的安卓开发者都处于这层)
2.应用程序框架
我们开发Android应用程序时,就是面向底层的应用程序框架进行的。从这个意义上来看,Andoird系统上的应用程序是完全平等的,不管是Android系统提供的程序,还是普通开发者提供的程序,都可以访问Android提供的API框架。
应用程序框架除了可以作为应用程序开发的基础之外,也是软件复用的重要手段,任何一个应用程序都可发布它的功能模块-只要发布时遵守了框架的约定,那么其他应用程序就可以使用这个功能模块。
3.函数库
Android包含一套被不同组件所使用的C/C++库的集合。一般来说,Android应用开发者不能直接调用这套C/C++库集,但可以通过它上面的应用程序框架来调用这些库。
系统C库:一个从BSD系统派生出来的标准C系统库(libc),并且专门为嵌入式Linux设备调整过。
媒体库:基于PacketVideo的OpenCORE,这套媒体库支持播放和录制许多流行的音频和视频格式,以及查看静态图片。主要包括MPEG4、H.264、MPS3、AAC、 AMR、JPG、PNG等多媒体格式。
Surface Manager:管理对显示子系统的访问,并可以对多个应用程序的2D和3D图层提供无缝整合。(表示不懂,求大神指点)
LibWebCore:一个全新的Web浏览器引擎,该引擎为Android浏览器提供支持,也为Webview提供支持,Webview完全可以嵌入开发者自己的应用程序中。(很强大 的一个东西,功能很强大!)
SGL:底层的2D图形引擎。
3D libraries:基于OpenGL ES API实现的3D系统,这套3D库即可使用硬件3D加速(如果硬件系统支持),也可以使用高度优化的软件3D加速。
FreeType:位图和向量字体显示。
SQLite:供所有应用程序使用的功能强大的轻量级关系数据库。
4.Android运行时
Android运行时由两部分组成:Android核心库集和ART。其中核心库集提供了Java语音核心库所能使用的绝大部分功能,而虚拟机则负责运行Android应用程序。
Android5.0以前的的Android运行时由Dalvik虚拟机和Android核心库集组成,但由于Dalvik虚拟机采用了一种被称为JIT(Just-in-time)的解释器进行动态编译并执行,因此导致Android APP运行时比较慢;而ART模式则是在用户安装APP时进行预编译(AOT)的,将原本在程序运行时的编译动作提前到应用安装时,这样使得程序在运行时可以减少动态编译的开销,从而提升Android APP的运行效率。
反过来,由于ART需要在安装APP时进行AOT处理,因此ART需要占用个多的存储空间,应用安装和系统启动时间会延长不少。
除此之外,ART还支持ARM、X86、和MIPS架构,并且能完全兼容64位系统,Android5.0必然会带来更好的用户体验。
5.Linux内核
Android系统建立在Linux2.6之上。Linux内核提供了安全性、内存管理、进程管理、网络协议和驱动模型等核心系统服务。除此之外,Linux内核也是系统硬件和软件叠层之间的抽象层。
1.1.1Android的发展和简介
Android并不是Google创造的,而是由Android公司所创造的,该公司的创始人是Andy Rubin。该公司后来被Google收购,而Andy Rubin也成为了Google公司的Android产品负责人。
Google于2007年11月5日发布了Android1.0手机操作系统,这个版本的Android系统还没赢得广泛的市场支持。
2009年5月,Google发布了Android1.5,该版本的Android提供了一个非常“”豪华””的用户界面,而且提供了蓝牙连接支持。这个版本的Android吸引了大量开发者的目光。接下来,Android的版本更新得较快,目前最新的Android版本是5.0(以我现在写博客的时间来讲,已经是Android6.0了),之后的文章介绍都是以Android5.0这个版本基础讲解的。
目前Android已经成为一个重要的手机操作系统。当前市场上常见的手机操作系统有如下这些。
IOS:Apple公司的手机、平板操作系统,市场占有率极高(非常变态的一个公司,自己一个公司市场份额能高达10%以上,以良好的用户体验和手机流畅度等原因备受 好评和受人们喜爱!本人虽然做Android开发,但也是拿iphone手机)
Windows Phone:Microsoft公司的手机操作系统,2014年发布的最新版本为Windows Phone8.1,但局势依然不够明朗,前途依然堪忧(曾经见过公司的同事是用 window phone手机,给我的感觉就是,里面的APP没有人开发,APP的界面通常都其丑无比,用户体验差!)
BlackBerry:即将被淘汰(没有见过搭载此系统的手机,听我的隋老师曾经讲过,是和以前诺基亚一样带键盘的手机。)
Symbian:已经被彻底淘汰,彻底退出历史舞台。(诺基亚的手机系统,可怜的诺基亚,它并没有做错什么,相信大家都用过诺基亚手机)
目前Android系统的市场占有率已经远远超过IOS,而WP作为Microsoft公司最后的“”赌注“”,自然也是全力以赴,希望至少能与IOS、Android三足鼎立,但目前局势似乎并不乐观。无论从哪个角度看,Android已经成为最主流的手机操作系统。
提示:
事实上,Andoird已经超出了手机操作系统的范畴,Android系统已经广泛应用于TV、手表以及各种可穿戴设备。Android5.0已经专门提供了TV。Wear等系统镜像。(事实证明如此,我身边一些朋友很多都是在物联网公司上班,以我的小车来讲,我的车载搭载的就是Android系统,其实就是一把手机或者可以理解成一个平板)
就目前国内环境来说,已有大量手机厂商开始生产Android操作系统的手机,因为Android手机平台是一个真正开放式的平台,无需支付任何费用即可使用。出于节省研发费用的考虑,不管是对于知名的手机生产厂商,还是大量的山寨手机厂商,Andoird操作平台都是一个不错的选择。
下面附上前段时间Oppo和Vivo玩偶打架的图片和视频大家随意感受下:
http://baidu.ku6.com/watch/03233872004557158284.html?page=videoMultiNeed
从2008年9月22日,T-Mobile在纽约正式发布第一款Android手机T-Moble G1开始,Android系统不断地获得各个手机厂商的青睐。
2010年1月7日,Google在其美国总部正式向外界发布了旗下首款合作品牌手机Nexus One(HTC G5),同时开始对外发售。
目前,已发布搭载Android系统的手机厂商包括:三星、HTC、索尼爱立信、LG等;国内厂商如华为、联想、中兴、小米等也都开始发布搭载Android系统的手机。
1.1.2 Android 5.X平台架构及特性
Android系统的底层建立在Linux系统之上,该平台由操作系统、中间件、用户界面和应用软件4层组成,它采用一种被称为软件叠层(Software Stack)的方式进行构建。这种软件叠层结构使得层与层之间相互分离,明确各层的分工。这种分工保证了层与层之间的低耦合度,当下层的层内或层下发生改变时,上层应用程序无需任何改变。(在大学时期,老师强调了无数次分层的作用,和好处!分层思想。)
Android系统主要由5部分组成。
1.应用程序层(我目前的工作就是负责应用程序层的开发)
Android系统将会包含一系列的核心应用程序,包括电子邮件客户端、SMS程序、日历、地图、浏览器、联系人等。这些应用程序通常都是用JAVA编写的。(大部分的安卓开发者都处于这层)
2.应用程序框架
我们开发Android应用程序时,就是面向底层的应用程序框架进行的。从这个意义上来看,Andoird系统上的应用程序是完全平等的,不管是Android系统提供的程序,还是普通开发者提供的程序,都可以访问Android提供的API框架。
应用程序框架除了可以作为应用程序开发的基础之外,也是软件复用的重要手段,任何一个应用程序都可发布它的功能模块-只要发布时遵守了框架的约定,那么其他应用程序就可以使用这个功能模块。
3.函数库
Android包含一套被不同组件所使用的C/C++库的集合。一般来说,Android应用开发者不能直接调用这套C/C++库集,但可以通过它上面的应用程序框架来调用这些库。
系统C库:一个从BSD系统派生出来的标准C系统库(libc),并且专门为嵌入式Linux设备调整过。
媒体库:基于PacketVideo的OpenCORE,这套媒体库支持播放和录制许多流行的音频和视频格式,以及查看静态图片。主要包括MPEG4、H.264、MPS3、AAC、 AMR、JPG、PNG等多媒体格式。
Surface Manager:管理对显示子系统的访问,并可以对多个应用程序的2D和3D图层提供无缝整合。(表示不懂,求大神指点)
LibWebCore:一个全新的Web浏览器引擎,该引擎为Android浏览器提供支持,也为Webview提供支持,Webview完全可以嵌入开发者自己的应用程序中。(很强大 的一个东西,功能很强大!)
SGL:底层的2D图形引擎。
3D libraries:基于OpenGL ES API实现的3D系统,这套3D库即可使用硬件3D加速(如果硬件系统支持),也可以使用高度优化的软件3D加速。
FreeType:位图和向量字体显示。
SQLite:供所有应用程序使用的功能强大的轻量级关系数据库。
4.Android运行时
Android运行时由两部分组成:Android核心库集和ART。其中核心库集提供了Java语音核心库所能使用的绝大部分功能,而虚拟机则负责运行Android应用程序。
Android5.0以前的的Android运行时由Dalvik虚拟机和Android核心库集组成,但由于Dalvik虚拟机采用了一种被称为JIT(Just-in-time)的解释器进行动态编译并执行,因此导致Android APP运行时比较慢;而ART模式则是在用户安装APP时进行预编译(AOT)的,将原本在程序运行时的编译动作提前到应用安装时,这样使得程序在运行时可以减少动态编译的开销,从而提升Android APP的运行效率。
反过来,由于ART需要在安装APP时进行AOT处理,因此ART需要占用个多的存储空间,应用安装和系统启动时间会延长不少。
除此之外,ART还支持ARM、X86、和MIPS架构,并且能完全兼容64位系统,Android5.0必然会带来更好的用户体验。
5.Linux内核
Android系统建立在Linux2.6之上。Linux内核提供了安全性、内存管理、进程管理、网络协议和驱动模型等核心系统服务。除此之外,Linux内核也是系统硬件和软件叠层之间的抽象层。
相关文章推荐
- 绿色小安卓机器人 详解Android发展历史
- android发展历史
- iOS和Android结合,跨平台发展才是历史前进的方向
- Atitit atitit 编程语言之道补充 s22 attilax 艾龙 著 1. 程序设计是个什么概念呢?历史发展 1 1.1. 连接电缆 2 1.2. 程序内置纸带打点 2 1.3. FORT
- android发展历史简介
- Android发展以及历史版本号
- Android的发展历史
- 1.1 发展历史
- Atitit.异步编程的发展历史 1.1. TAP & async/await
- Atitit 关于微服务的思考与理解 attilax总结 1.1. 架构的历史 微服务发展历史 Web》soa》msa 1 1.2. 微服务最大特点 独立部署 1 2. 微服务的优点 1 2.1.
- Android发展历史
- Android studio的发展历史|为什么开发Android应用配置了SDK还要配置JDK|studio和eclipse的区别
- Android发展历史
- Android的发展历史
- Android Studio发展历史版本
- 1.1 深度学习的历史和发展
- 计算机发展历史(2)
- 趣话电脑病毒19年发展历史及防护常识