




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
叮叮小文库 Android系统调研报告 学校: 北京邮电大学 学院: 计算机学院 姓名: 杨志锋 班级: 07409班 学号: 071217 指导老师: 许可 时间: 2011年2月28日 Android系统调研报告摘要:Android手机操作系统自Google公司推出以来,经过两年的发展,已经成长为仅次于Aymbian的巨头,成为众多移动终端生产商和应用程序开发者青睐的选择。这次调研分析了Android系统的特点,介绍了Android系统构架、市场占有率、各版本的更新,以及对硬件的要求。简单分析了Android能取得成功的原因,以及Android的发展面临的困难和问题。关键字:Android、智能手机系统、Android系统构架、Android版本、Android发展问题一、 Android简介Android 是Google历经数年和投资数亿美元开发出来的智能手机系统,是基于Linux内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统。Google也发起了围绕Android的组织开放手机联盟,其英文全称为“Open Handset Alliance”。 它采用了软件堆层(software stack,又名以软件叠层)的架构,主要分为三部分。底层Linux内核只提供基本功能;其他的应用软件则由各公司自行开发,部分程序以Java编写。随着各大移动终端生产商大力开发和生产基于Android的移动智能设备,Android迅速得到业界和社会的认可,并成为整个产业的热点,基于Android平台的各类人才逐渐成为各大企业竞相争夺的焦点。而且Android是一个开放的系统,不管是企业还是个人都可以参与来表达自己的创意和想法。 二、 Android发展历程Android 1.1发布时间:发布于 2009 年 2 月代表手机:T-MOBILE G1Android 1.5发布于 2009 年 5 月代表手机:摩托罗拉CILQAndroid 1.62009 年 9 月发布代表手机:索尼爱立信 X10Android 2.02009 年 10 月 26 日代表机型:摩托罗拉XT800,HTC G6Android2.0/2.1 EclairAndroid 2.1: 2009 年 10 月 26 日,又一个主要版本升级以创纪录的速度放出。这次,大版本升级到了Android 2.1 “Eclair.”Android2.2 Froyo谷歌于北京时间2010年5月20日晚上10:30点在旧金山Moscone会展中心举办 Google I/O 2010大会第二天的会议,Google正式发布了代号是“froyo 冻酸奶”的Android操作系统2.2版。相对于上一版本的 改变:1、整体性能大幅度的提升2、3G网络共享功能。3、Flash的支持。4、App2sd功能。5、全新的软件商店。6、更多的Web应用API接口的开发Android2.3 Gingerbread 北京时间12月7日凌晨,Google正式对外发布了他们的下一代智能手机 操作系统Android 2.3也就被大家所熟知的Android Gingerbread系统。虽 然在版本号方面Android 2.3相对于前作而言的提升并不算多,但是从功 能以及界面的变化上来看还是十分明显的。 虽然是一个较为重大的更新,但是Android 2.3在界面方面的改变相对于之 前的Android 2.2而言其变化并不算明显,其主要的变化来自于界面的配色 方面。Android 2.3在配色方面更多的使用了绿色配色,例如状态栏、通话 图标以及其他的一些功能图标。另外全新的系统在界面的反应速度方面相 对于前作也有了一定程度的提升,现在大家使用Android系统将会觉得使 用起来更为流畅。 Android 2.3在文字输入方面做了改进,以提高输入速度。首先改进了虚拟 键盘,按键的颜色做了调整,更易于辨识。增强了输入法联想功能。数字 输入的时候可以不用切换键盘,通过组合键来输入。 之前Android系统具 备文本复制功能,但是操作方式不是很易用,这次做了改进。长按文本时 会跳出选择范围的拨杆。 Android2.4就像Android 2.0和2.1版本都使用Eclair(法式奶油夹心甜点)一样,Android 2.3和2.4将会共享Gingerbread(姜饼)代号。这两个版本之间的变化不会 太大,但是会有不少功能更新。目前已知的Android 2.4带来的更新包括更多的动画特调、更快的运行速度、 软件通话降噪、视频聊天等。Android 2.4系统不会是之前一直谣传的Android 3.0,其真正的版本号将会 是Android 2.4。蜂巢将会在2011年发布,尤其是在Android之父“Andy Rubin(安迪鲁宾)” 秀了搭载该系统的摩托罗拉平板机之后就更加确信这一点了,不过蜂巢究竟在何时发布,同时还会有别的什么设备一同面世,蜂巢之后又是什么系统,这些问题我们都不知道答案。发布时间预计是2011年的2月14日至17日在巴塞罗那举办的MWC 2011移动通信世界大会中。Android3.0 Honeycomb2011年2月3日凌晨,谷歌正式发布了专用于平板电脑的Android 3.0 Honeycomb系统。这是首个基于Android的平板电脑专用操作。首款采用 Android3.0系统的是MOTOXOOM。该机是摩托罗拉移动在2011年1月 5日,在美国拉斯维加斯就CES电子消费展推出的旗下首款平板电脑。3.0系统特性专用于平板电脑 全新设计的UI增强网页浏览功能n-app purchases功能经过优化的Gmail电子邮箱; 全面支持Google Maps三、 Android特点 Android手机操作系统的推出,大大受到广大编程人员的喜爱。那么它究竟有什么出色的特点吸引着人们的眼光呢?这里总结了一些Android特点,以供对此有兴趣的朋友参考学习。1. Android是什么?Android是一个平台,主要包括Linux微内核,中间件(SQLite等),关键应用(电话本、邮件、短消息、GoogleMap、浏览器等),提供的Java框架,以及Android中的JVM。2.Android特点之关键类视图,ContentProviders(应用交互管理类)、ResourceManager非编码资源管理类、NotificationManager(通告管理类)、ActivityManager(生命周期管理类)。3.Android特点之界面开发这一块主要讨论了Android的界面开发机制,可以讲组件的初始化抽取出来放到配置文件中,组件更新用编码方式来处理。4.应用构成Android的应用一般由以下四个关键部分构成Activity、IntentReceiver、Service、ContentProvider。其中Activity是必要部分。应用场合:Activity每个应用都是必须得,Activity代表一个应用的一个具体的界面管理类,其本身并不显示。IntentReceiver可使应用对外部事件做出响应,比如,当应用正在执行,突然有了来电,这个时候可使用IntentReceiver做出处理是应用更健壮。Service Android应用的生命周期是由Android系统来决定的,不由具体的应用的线程左右。当应用要求在没有界面显示的情况还能正常运行,(要求有后台线程,而后台线程是不会被系统回收,直到线程结束)这个时候就需要用到ServiceContentProvider 可以说ContentProvider封装很多Android当中的上下文环境,包括SQLite,这就使得在不同应用之间交互成为可能。5.Android特点之布局管理FrameLayout:左上角只显示一个组件。LinearLayout:线性布局管理器,分为水平和垂直俩中,只能进行单行布局。TableLayout:任意行和列的表格布局管理器。其中TableRow代表一行,TableRow的每一个视图组件代表一个单元格。AbsoluteLayout:绝对布局管理器,坐标轴的方式,左上角是(0,0)点,往右x轴递增,往下Y轴递增。RelativeLayout:相对布局管理器,更具最近一个视图组件,或是顶层父组件来确定下一个组件的位置。6.Activity交互Intent方式:Intent其实就是用来在Activity之间做交互用的,需要说明的是Intent有个意图说明,值得用深究,举个简单的例子,有种叫Intent.ACTION_CALL,可直接拨打电话。SharedPreferences是Android平台上一个轻量级的存储类,主要是保存一些常用的配置。SharedPreferences类似过去Windows系统上的ini配置文件,但是它分为多种权限,可以全局共享访问,最终是以xml方式来保存,效率不如Intent,但是由于可以共享,所有可以再Acitivity之间交互。但其效率比SQLite要高。SQLite也就是数据库,这种方式不推介,因为其效率问题,如果是在不同应用之间交互,可以考虑SQLite。或是永久存储的情况下。7.Android特点之生命周期理解Android生命周期非常重要,主要有以下几点每一个Android应用都是以一个进程的方式运行的,其生命周期不是有自身控制,而是由系统根据运行的应用的一些特征来决定。所有理解好Android生命周期对你的应用什么时候会被系统回收很重要。理解好生命周期可提高应用的健壮性。比如应用的初始化应该放到onCreate方法中,应用暂停的时候应用重写onPause方法来保存当前应用操作结果。8. SQLiteSQLite是Android中提供的内置数据库,据说比MySql更轻巧。SQLite也是开源产品。数据库的操作方式主要有以下俩中:SQL语句直接操作,插入、更新、删除都可以直接写SQL语句,调用execSQL()就可以,而查询需要使用rawQuery()来完成,查询结果返回是一个可滚动的结果集,Cursor在对Cursor操作前,需要将其游标移动到第一位,每取一个结果向下移一位。四、 Android硬件要求五、 Android技术分析 系统构架: 下图显示的是Android操作系统的主要组件: Android系统构架由5部分组成,分别是:Linux Kernel、Android Runtime、Libraries、Application Framework、Applications。 1、Linux KernelAndroid基于Linux 2.6提供核心系统服务,例如:安全、内存管理、进程管理、网络堆栈、驱动模型。Linux Kernel也作为硬件和软件之间的抽象层,它隐藏具体硬件细节而为上层提供统一的服务。 2、Android RuntimeAndroid包含一个核心库的集合,提供大部分在Java编程语言核心类库中可用的功能。每一个Android应用程序是Dalvik虚拟机中的实例,运行在他们自己的进程中。Dalvik虚拟机设计成,在一个设备可以高效地运行多个虚拟机。Dalvik虚拟机可执行文件格式是.dex,dex格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。 大多数虚拟机包括JVM都是基于栈的,而Dalvik虚拟机则是基于寄存器的。两种架构各有优劣,一般而言,基于栈的机器需要更多指令,而基于寄存器的机器指令更大。dx 是一套工具,可以将 Java .class 转换成 .dex 格式。一个dex文件通常会有多个.class。由于dex有时必须进行最佳化,会使文件大小增加1-4倍,以ODEX结尾。 Dalvik虚拟机依赖于Linux 内核提供基本功能,如线程和底层内存管理。 3、LibrariesAndroid包含一个C/C+库的集合,供Android系统的各个组件使用。这些功能通过Android的应用程序框架(application framework)暴露给开发者。下面列出一些核心库: 系统C库标准C系统库(libc)的BSD衍生,调整为基于嵌入式Linux设备 媒体库基于PacketVideo的OpenCORE。这些库支持播放和录制许多流行的音频和视频格式,以及静态图像文件,包括MPEG4、 H.264、 MP3、 AAC、 AMR、JPG、 PNG 界面管理管理访问显示子系统和无缝组合多个应用程序的二维和三维图形层 LibWebCore新式的Web浏览器引擎,驱动Android 浏览器和内嵌的web视图 SGL基本的2D图形引擎 3D库基于OpenGL ES 1.0 APIs的实现。库使用硬件3D加速或包含高度优化的3D软件光栅 FreeType 位图和矢量字体渲染 SQLite 所有应用程序都可以使用的强大而轻量级的关系数据库引擎 4、Application Framework通过提供开放的开发平台,Android使开发者能够编制极其丰富和新颖的应用程序。开发者可以自由地利用设备硬件优势、访问位置信息、运行后台服务、设置闹钟、向状态栏添加通知等等,很多很多。 开发者可以完全使用核心应用程序所使用的框架APIs。应用程序的体系结构旨在简化组件的重用,任何应用程序都能发布他的功能且任何其他应用程序可以使用这些功能(需要服从框架执行的安全限制)。这一机制允许用户替换组件。 所有的应用程序其实是一组服务和系统,包括: 视图(View)丰富的、可扩展的视图集合,可用于构建一个应用程序。包括包括列表、网格、文本框、按钮,甚至是内嵌的网页浏览器 内容提供者(Content Providers)使应用程序能访问其他应用程序(如通讯录)的数据,或共享自己的数据 资源管理器(Resource Manager)提供访问非代码资源,如本地化字符串、图形和布局文件 通知管理器(Notification Manager)使所有的应用程序能够在状态栏显示自定义警告 活动管理器(Activity Manager)管理应用程序生命周期,提供通用的导航回退功能 5、ApplicationsAndroid装配一个核心应用程序集合,包括电子邮件客户端、SMS程序、日历、地图、浏览器、联系人和其他设置。所有应用程序都是用Java编程语言写的。更加丰富的应用程序有待我们去开发! 从上面我们知道Android的架构是分层的,非常清晰,分工很明确。Android本身是一套软件堆叠(Software Stack),或称为软件叠层架构,叠层主要分成三层:操作系统、中间件、应用程序。从上面我们也看到了开源的力量,一个个熟悉的开源软件在这里贡献了自己的一份力量。 Android开发 开发工具:Google推出的SDK(software development kit)。 开发环境:Google已经发布了Android3.0,但是目前来说2.X仍然占据了市场最大的份额,达到了90%以上,因此开发环境推荐使用SDK2.2+Eclipse 开发语言:Android的SDK是Java的,将来可能有其他语言版本。六、 Android成功的原因 1、Android普及毫无争议的事实是,Android的普及是该操作系统成功的原因之一。由于大量Android设备产品的存在,越来越多的用户也开始选择Android操作系统。2、Google的重点关注从一开始,Google就一直牢记一大主要目标,即尽可能快速有效地在市场竞争中获胜,为此,Google就开始在移动市场重点开发。经过了这些努力,Google终于将其在搜索引擎领域内成功复制其移动战略之中。3、摩托罗拉摩托罗拉也Android操作系统的成功有着密不可分的关系。摩托罗拉推出了Droid手机之后,该公司也由此迎来了在Android领域的大发展局面。如今,摩托罗拉Droid X和Droid 2等手机已经进入了Verizon的商店之中,因而也将更多的使用价值送到了用户手中。展望未来,摩托罗拉将可能进一步加大对Android操作系统的投资。4、苹果的失错误苹果可能也会迎来巨大成功,但是该公司近几年已经犯下了许多错误,这种错误恰恰又帮助Android深受用户欢迎,例如,苹果一直拒绝部分特定应用进入苹果应用商店(App Store),此举令一些用户感到非常恼火。另外,苹果长期以来一直不愿意在其产品中提供多任务功能,此举也导致一些用户流向其它设备。另外,苹果仍未停止与美国电报电话公司之间的独家合作,这些错误也就推动了更多用户奔向了基于Android操作系统的手机。5、VerizonVerizon一直被认为是手机领域内的顶尖运营商,该公司拥有数量最多的用户,也具有在美国市场最好的用户,但是该公司却一直依重Android,此举也拉动了Android近几年来的市场份额越来越高。6、Nexus OneGoogle的Nexus One手机曾一度被认为是最失败的一款手机,但无论如何,此款手机已经停产。尽管如此,一个不争的事实上,正是Nexus One将Android操作系统带进了人们的视野之中。7、iPhone 4的天线问题尽管苹果已经成功地让业界不再重点关注iPhone 4的天线问题,但这种问题还是对Android操作系统产生了重大影响。消费者颇感的担忧的是,iPhone 4的通话仍面临中断的风险。受此影响,用户们也开始渐渐放弃iPhone 4,而是选择基于Android系统的手机。8、Android的巨大改进Android最初推出以来,该操作系统也面临着诸多的问题。例如不具有iOS系统中的诸多功能,也缺乏用户想要的一些使用功能。但时过境迁,Google已经将Android操作系统打造得更具使用价值,如今,Android操作系统也具有了超过iOS的功能,正因为如此,消费者也开始趋之若鹜,纷纷购买Android系统的手机。9、Google与开发者保持良好关系苹果近几年来在与开发者的关系方面已经出现了诸多问题,例如禁止一些开发者的应用进入其商店。不过,Google一直未仿效苹果的这种举措,而是与开发者保持着良好关系,这种应用的开放性也吸引了诸多消息者使用基于Android操作系统的设备,而不是选择iPhone。10、RIM的失败RIM也帮助Android操作系统取得了成功。在苹果与Google进军移动市场之前,RIM一直在移动市场占据主导地位,但是,该公司目光短浅,未能在苹果和Google进入该市场时采取及时的措施。总而言之,在过去的几年中,RIM懒散的态度的确助长了Android操作系统的成功。 Google让驱动变动不牵动上层,变动成本低,客户容易接受改版。Google为了获得底层供应商的支持,必须避开GPL的限制,将驱动程式移到User Space。于是驱动开发者(底层供应商)就有利可图,因而日益茁壮,且大力支持Google,Google在手机操作系统的强龙地位自然形成。七、 Android的优劣势 优势:1. 平台源代码开源 各种设备适用,各个厂商可以修改开源的代码来适用在自己开发的设备上,这在还没有开发的新产品和已经开发完毕的产品(比如M8)中都可以应用。 免费,不需要缴纳例如wm或苹果或nokia的授权费用,可以省去一部分成本,使自己的设备更便宜,从而让更多的人去购买,让自己的产品广泛使用。 开发优势,开发软件时可以调试源代码,根据源代码进行软件的bug修改,性能调优等。2. 后台过硬,联盟效应 google作为后台,具有最好的开发人员,最先进的思想,未来前景不容置疑。相对于chrome平台,android更具有便携端的优势(比如触摸,性能等)。虽然pc不会消失,但未来将会是便携设备的天下。 迄今为止最为广泛的移动生产商联盟,包括三星,联想,moto,htc。更多的生产商肯定会有更多的手机销售量,会带来更多的用户群。同时,以众击寡的局面也会令苹果难堪。3. 开发优势 用java+eclipse开发,易学易用,入门门槛低。 google提供现成的丰富api类库,并且有google doc,calendar等免费好用应用的api。 大量的开源代码可以借鉴。4. 国内发展前景乐观 山寨厂商开始在手机上用android系统,这是一个很好的消息,低端用户群是一个最广大,最普遍的群体。 移动,联想在国内都推出了自己的android手机,他们肯定会下大力气推广。虽然是各自定制,但是开发软件如果兼容性好的话,通用性不成问题。 正是因为Android拥有这些得天独厚的优势,才使得Android后来居上,成为智能手机操作系统的巨头,下图为Android市场占有率(2009 & 2010) 通过对比可以发现2010年是Android的大丰收年,2011年有着更光明的前景。劣势: 1.审核机制不完善 Android开发门槛低,所以涌入了大量低层次的开发者,这也导致应用 水平参差不齐。google market审查机制不严,会使开发的软件淹没在 大潮中。在软件的推广上要制定一套自己独特可行的办法。当然app store 的审核对用户来说则显得有些过了,如何寻找平衡点需要Google想办法。 2.操作复杂 对于普通大众来讲,Android手机的易用性和稳定性和苹果iPhone的 确有较大差距,某些Android手机还不具备多
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025榆林神木市第三十幼儿园招聘(2人)备考练习题库及答案解析
- 叉车安全培训考试试题及答案
- 社区工程档案会议记录范文
- 一年级小学生行为规范
- 2025年义务教育课程方案2024版测试题及答案
- 2025重庆大足区统计局公开招聘1人备考练习题库及答案解析
- 2025年合肥庐江县补充招聘临聘教师77名备考练习题库及答案解析
- 2025年广东省梅州市国家公务员行政职业能力测验预测试题含答案
- N3层级护士三基+临床实践试题与参考答案
- 70周岁以上的驾驶员三力测试题(附答案)
- 五年级上册英语课件-Unit1 Goldilocks and the three bears第四课时|译林版(三起) (共18张PPT)
- 水利工程安全防洪度汛专项方案-版
- 先天性复拇畸形虎口形态特点及治疗策略-PPT幻灯片
- 询价小组签到表
- 办公用房登记表
- QC080000有害物质管理评审报告
- 以“五位一体”模式提升理论学习中心组学习质量和成效的实践与探究
- 运维服务方案 全
- 牛津译林版英语七年级上册Unit1Comic strip and Welcome to the unit随堂练习(含答案)
- 国防战备公路工程可行性研究报告
- 《假期有收获》PPT课件
评论
0/150
提交评论