• 细数人们对安卓的误解


    误解一:安卓是iOS的后辈

      不知不觉,安卓已经成为了世界上最流行的移动智能系统,就市场占有率来看,安卓甚至要高于引领了智能机和平板电脑革命的iOS。安卓的红火深远地影响了IT行业,全球最大的社交网络Facebook甚至倡议员工弃用iOS改换安卓手机以更深入地了解用户体验

    但是,流行总伴随着流言,安卓席卷世界的同时也让一些关于安卓的误解深深地植根在了人们的脑海中。很多人每天都在用安卓,或者经常能够接触到安卓设备,阅读和安卓相关的文章,但是这些并不能意味着你就了解安卓的真相。下面是一些在人群中流行已久的有关安卓的误解,我们一起来看看。

      误解一:安卓是iOS的后辈

      都说Google家的安卓Google家的安卓,但安卓最早还真不是Google搞出来的。虽然Google已经将安卓作为自家服务在移动市场布局的重要旗子,但是安卓最初并非是Google麾下的大将。早在Google于2008年发布安卓之前,安卓已经诞生。

      在2003年10月,有“安卓之父”之称的安迪·鲁宾(Andy Rubin)创建了安卓科技公司,致力于为用户研发更聪明的移动设备。2005年,Google收购了安卓公司,而鲁迪也成为了Linux内核移动操作系统团队的领导人——这个Linux内核的移动操作系统就是安卓。


    安卓之父Andy Rubin先生

      虽然有人说,iOS项目的开始并不比安卓公司的成立晚,但是这并没有什么依据。从公布的时间上来看,安卓的历史的确要长于iOS。不过,iOS第一版发布于2007年,要早于Google发布安卓的2008年,这就让很多人认为安卓不过是iOS公布后,Google一年间赶工做出来的摹仿品。


    虽然安卓学习了iOS的很多招式,但安卓真的不是iOS的后辈

      的确,安卓在iOS发布后借鉴了iOS很多元素,但这并不意味着安卓就是跟着iOS尾巴走的小朋友。安卓是Google多年前就在移动市场埋下的伏笔,绝非是Google一时兴起造出来的iOS跟风狗。

    2误解二:安卓比WP等收费系统成本低

      误解二:安卓0成本,比WP等收费系统便宜

      安卓的开源路人皆知,只要遵循GPL和Apache 2.0开源协议,谁都能够免费使用安卓的源代码进行开发。可以说,安卓的确是一个免费的移动操作系统。


    使用安卓真的不要钱吗?

      然而,这并不意味着免费的安卓比收费的WP来得成本更低。安卓的开源计划AOPS(Android Open Source Project)所开放的源代码远不足以让安卓在市面上的移动设备上跑起来——你以为给手机装系统和给电脑装系统是一个概念么。如果移动设备厂商想要推出安卓设备,就必须自己开发或者向相关的硬件厂商购买能让硬件运行于安卓系统的底层驱动/BSP,这个经费可不便宜。想想如果NV和AMD它们都要你买驱动才让你跑Windows,估计Windows PC也不会是现在这个价了。


    让安卓在硬件上跑起来一点都不便宜

      此外,安卓硬件厂商还需要为一些额外的、安卓不具备的功能购买授权费,比如说你想要支持Office文件就要购买相关授权,想要支持iBeats音效要自己掏银子,想要通杀各种多媒体一大笔钱是少不了的了。比如说,不少生产安卓机的厂商如三星和HTC,每部安卓机都需要向微软缴纳10美元的专利费。当一部运行正常、功能丰富的安卓设备来到你手中的时候,它的成本已经包含了大量的研发费用和授权费。综合起来一算,微软提供全套服务包括软硬件解决方案的收费WP系统可能还来得更便宜——WP的授权费也就15美元。


    WP每台机器授权费15美元一切全包,算起来可能还真比安卓便宜

      当然,也不是说安卓系统的成本就一定很昂贵,国内很多山寨厂压根就不给你交什么专利费。而实力不足,负担不起太高的研发费用的话,还可以购买一整套成熟的安卓硬件解决方案——比如说高通就为大家提供了包括包含ARM核心的SOC芯片和基带芯片等硬件的全套解决方案,只要乖乖付钱给高通,就能省去很多研发成本。由于高通的存在,安卓得以四处开花,高通在业界里被誉为安卓MTK并不是没有道理的。

    3误解三:安卓卡顿严重

      误解三:安卓卡顿严重

      的确,很多安卓机无论是系统本身还是运行其他App,都会卡顿严重。然而,这并非是安卓系统的问题,将卡顿这个屎盆子扣安卓一脸,未免也太过于不公平。


    安卓真的不如iOS流畅?

      在系统皆保持在最新、硬件同等的情况下,安卓未必不如iOS流畅。而旧版iOS设备如iPhone3GS和iPhone4更新到最新版的iOS后,卡顿程度未必就比配置近似的安卓设备少。说到底,安卓之所以给人留下卡顿严重的印象的主要原因有以下几点:

      1、安卓推出之初完成度不高,当时硬件水平也很低下,那时候安卓机真心卡顿严重。虽然多年过去了,安卓已非吴下阿蒙,移动设备性能也呈爆炸性增长,现在主流以上的安卓机已经完全具备告别卡顿的条件了——可惜卡顿这个印象已经深刻在人们脑海里了,哪有这么容易摆脱;

      2、安卓设备良莠不齐,不少厂商开发能力低下优化极差,并且让安卓运行于性能低下的硬件平台上。说实在,流畅性都是硬件堆起来的,试问哪一代iPhone综合性能比同期的安卓旗舰差?将中低端的安卓机和最新一代iPhone放在一起,自然很容易得出安卓卡顿的结论,偏偏市面上最多的就是中低端的安卓机,卡顿是硬件的错而不是安卓本身的原因;


    市面上流行的多是低端安卓机,性能低下怎能不卡

      3、用户使用不当。安卓4.0以后的版本加入了强制GPU渲染的选项,打开后可以大幅增加很多图形界面的流畅程度。此外,如果一心追求流畅性的话,还可以手动限制后台数量、设置不保留活动,令安卓减负到类似iOS的运行环境中。如此一来,就算安卓的流畅度比不上iOS,但也绝对谈不上卡顿严重。


    打开GPU强制渲染可以增加流畅度

      总的来说,历经了Google的努力和硬件的发展,安卓已经说不上卡顿了。安卓在流畅性方面已经今非昔比,我们不应该以过去的眼光看待安卓。

    4误解四:安卓基于JAVA

      误解四:安卓基于JAVA

      每每提到安卓,总会有人提到以下这几个观点:“安卓是用JAVA写的”;“安卓跑在JAVA虚拟机上怎么可能快”;“安卓软件只不过是JAVA,实际上安卓软件和山寨机的JAVA软件差不多”。不少人对这些言论深信不疑,而这些观点的流行更是让安卓背上“基于JAVA的低效率系统”这个不白之冤。http://hovertree.com/menu/java/

      实际上,这些观点有失偏颇。首先安卓基于Linux Kernel,而Linux本身就是用C语言撰写的。安卓的一些第三方库基于C++,在中间层和用户界面部分才利用了一些JAVA语言,安卓基于JAVA编写这种说法并不准确。

      此外,虽然安卓的软件可以使用JAVA软件编写,但是和非智能机所支持的JVM扩展区别很大。安卓使用Dalvik虚拟机运行JAVA,Dalvik虚拟机基于寄存器,速度远非JVM这种基于栈的方案可以媲美——寄存器是为了解决中央处理器指令吞吐性能不足而设计的,这本来就是为速度而生的东西。将安卓的Dalvik机制等同于JVM,未免也过小瞧Google了。


    Dalvik虚拟机速度远胜于JVM

      此外,安卓软件还有速度更快的方案——直接使用C语言或者C++语言开发。开发安卓软件有两种方式,一就是大家都熟悉的所谓的“用JAVA开发”,在安卓SDK(安卓软件开发包)中使用JAVA编写安卓应用;另一种是通过安卓NDK(安卓原生开发包)使用C/C++编写安卓应用,不必跑Dalvik虚拟机,效率更高。


    开发者可以在NDK用C/C 编写安卓软件

      实际上,目前不少安卓软件都已经改用NDK和C/C++语言开发,一些测试软件如CF-Bench也将安卓机器的性能分为SDK性能和NDK性能。在CF-Bench中,我们可以看到安卓系统基于NDK的跑分是SDK的三倍以上。很多朋友一厢情愿地认为安卓基于JAVA、安卓软件都是低效的JAVA,实在是一个大大的误解。

    5误解五:很多安卓机被阉割了Google服务

      误解五:安卓不带Google服务是因为被阉割过

      现在很多安卓机都没完整的Google服务,这让安卓机的竞争力大降——要知道在网络正常的情况下,Google服务被众多资深网民、极客乃至黑客认为是互联网最有价值的东西之一。为了重新使用各种Google服务,国行安卓机的用户不得不十分折腾地刷上GMS Google服务框架,安装Google App。


    Google服务也许是互联网上最有价值的东西

      很多人都认为,由于种种特殊原因,安卓机在上市的时候被迫阉割了Google服务。但是事实上这个还真不能怪其他人,安卓系统中的Google服务本来就不在安卓的开源计划AOSP中,厂商如果只按照安卓开源的代码进行开发,本来就是没有Google服务的。而且虽然Google App不要钱,但其他厂商不经过Google同意是不能随便使用Google的应用程序的。由于Google的业务重心已经不在中国大陆,所以在中国大陆上市的安卓机不带有Google服务是再正常不过的了。


    安卓的开源计划AOSP并不包括Google服务

      当然,并不是说国行安卓机就一定没有Google服务。如果厂商有诚意的话,还是能够得到Google同意,在国行安卓机上附带Google服务的。但是有这个闲心的厂商不多,幸好安卓开放的特性能够让用户手动安装上Google服务,也算是个解决方案吧。

      所以说,很多安卓机没有Google服务并不是因为被阉割过,而且安卓源代码本来就不包括Google服务。Google服务对于安卓机是一项增值服务,而非必须。

      后话

      距离Google首次发布安卓系统不知不觉已经过去四年了,在这四年中,安卓实在变化良多,安卓4.2和安卓1.6第一眼看上去完全就是两个不同的系统。而iOS的变化相对较少,从2007年到现在,锁屏还是那个锁屏,主界面还是那个主界面,经典得到了传承。

      安卓的高速发展和创新伴随着系统的剧变,人们自然也难以认清楚这个每半年都变身一次的家伙。去掉有色眼镜和误解,呈现在你眼前的会是一个更加真实的安卓。

    推荐:http://www.cnblogs.com/roucheng/p/javaduoxiancheng.html

  • 相关阅读:
    HBase的compact分析
    HBase Rowkey的散列与预分区设计
    Zookeeper 快速理解
    oozie 入门
    Apache Storm内部原理分析
    Java ArrayList源码剖析
    Java HashSet和HashMap源码剖析
    初步掌握Yarn的架构及原理
    UML用例图总结
    UML类图几种关系的总结
  • 原文地址:https://www.cnblogs.com/roucheng/p/androidwujie.html
Copyright © 2020-2023  润新知