您的位置:首页 > 移动开发 > Android开发

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内核也是系统硬件和软件叠层之间的抽象层。

    

        
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息