域名不卖,勿扰!

研发工程师为你详解山寨机、品牌机和水货机(68)

  Apple有Foxconn们,MS有Nokia,但Android在垂直整合方面,并没有一个强有力的伙伴。Moto除掉那个专利包,就只剩下全 球4%的智能机份额和20万台tablet季出货量。抱着Moto的Google,只能让其移动业务战略更快滑向深渊。如果普通人都能看到这一点,相信 Google管理层不会没有考虑。


  前面有问到,觉得android逐渐兴起,在平板电脑有可能超过ipad,那我就给再分析一下这个情况从操作系统层面分析下这个情况。

  自苹果收购了乔布斯的NeXT之后,花了六年把它打磨成了Mac OS X;又在2005年左右花了两年半时间,基于它制造了iOS。从各种意义上来说,iOS是一个传统技术的操作系统。它有一个基于微内核Mach的 Darwin内核,有一个叫做Cocoa Touch的运行时,用的是Objective-C这个C语言的超集。而Android在Linux内核之上,集成了一个Java虚拟机Dalvik,整个应用层跑在虚拟机之上,而开发语言用的是Java。



  goole当初选择java,当然有它的道理。它起步晚,失去了先机,只能祭起两款大旗:开源和争取广大的开发者来为其迅速增加应用。而要广大的开发者为其开发,就只有选择JAVA语言这条路。说起这个JAVA,我前文也有多次提及过了,这里就不再赘述了,在我的软件同行中,只要做C和C++做得比较好的,没有几个喜欢这个JAVA语言,没错,开发是方便,但是效率性就大打了折扣。君不见这两年来,手机的CPU主频像火箭般的提升,1.4G,双核什么的,而在几年前,600M的主频也就到头了,大部分都是三四百M的主频,更没有什么双核了,这都android吃硬件导致的,有点像当年的wintel阵营,WINDOWS不断的提升对硬件的需求,而intel则不断的升级硬件,只不过,这回的主角分别变成了google和高通。



  而说到开发语言,android的开发语言和苹果的开发语言就一点微小的区别:android用的java只有自动内存回收,而iOS用的Objective-C语言自动与手动内存回收均可(但注意iOS只有手动内存回收)。这小小的区别导致,谷歌只能做一个Java虚拟机,而苹果可以继续他们在Mac OS X上的经验。而这个行为导致了两者在系统流畅性上的最大区别。Java由于只有自动内存回收,系统会在任意时间停掉所有进程开始回收内存,这个过程是人类可以感受到的数百毫秒。而iOS由于可以手动管理内存,可以在用户操作的间歇由程序员进行回收,用户不会在频繁使用过程中感受到停顿。在日常使用中这个停顿其实是可以忍的,但是在游戏过程中这个停顿是不可以忍的,比如想像一下一只愤怒的小鸟在空中停顿了零点几秒再继续飞行。



  谷歌事实上意识到了这个问题,于是它在Android 2.3版本中大修了这个问题并将之作为一个特性大书特书。且抛开2.3的普及性不谈,单说这个大修的行为,也并没有修好这个问题。于是谷歌抛出了第二个在开发上的修补:引入C/C++ NDK。可以说到了这一步, Android整个内核往上的应用层才有了与iOS抗衡的实力,可惜时间已经过去了近四年,iOS积累了十五年,Android刚刚起步。

  由于开发语言派生出来的问题远远不止于此,在iOS上的娱乐应用,无论是数量还是质量都远胜Android。究其原因,一是用户更愿意花钱从而开发者更有激情,二是开发更加便利不需要考虑数百机型。事实上这个世界上大部分正经游戏都是用C++开发的,而Objective-C与C++天生一家的特性吸引了太多游戏开发者(你可以直接用C++给 iOS开发游戏),而Android的Java就不必再提了……

  除了软件方面外,苹果方面优势的地方还在于和硬件相结合。大家看的时候可能不太明白如何的结合法,那我就简单的说一下。

  在手持设备时代,与PC时代最大的不同就是,PC时代的芯片是由双巨头独占的,他们负责从设计到制造,你只需要购买;而手持设备时代,或者说后PC时代,只有ARM一家寡头,它只负责设计。你把图纸买回去,进行深加工,然后自行制造或联系代工厂。

  这儿就有无限的可能性。毕竟从头设计一个架构是非常非常非常麻烦的事,但在已经成熟的架构上再进行加工是相对容易的事。苹果与大部分Android厂商(不包括三星)不同之处在于,苹果和三星自行设计,而其它厂商从三方芯片设计厂商购买成品。这些三方芯片设计厂商包括TI,NV,三星等等。而苹果与三星的不同在于,苹果自己做软件。



  是的,苹果是唯一一个既做硬件又做软件的手持设备公司。只有苹果可以在硬件中插入对软件的优化,又可以在软件中用上特制的模块。

  在第一代iPad之上,苹果启用自家芯片,称为A4。基于ARM,集成PowerVR,看上去和当时的主流手机芯片并没有什么不同。但只要你轻轻往里面看一看,你就会发现,什么叫做细节决定成败。前面已经说过,iPhone 4内部工业设计高度集成,电池容量相比4英寸手机也不输,其中A4芯片也是一大功臣。它基于45nm(当时代工最高技艺),使用了3D层叠技术,集成了内存控制芯片,大大减少了占用面积,比上代相比足足少了80%。外观只是一方面,内涵更重要。A4最大的内涵是,它极其省电。待机耗电大约只有竞争对手的 30%,使用耗电更是只有25%-75%。



  省电的两大秘密是,收购自P.A Semi的独立唤醒技术,以及Imagination为A4量身定制的VXD375芯片。前者很好理解,也就是不用的东西让它睡着,用着的时候再叫醒。当然轻描淡定的一句话丝毫冲淡不了此架构的复杂度,基于”如果你不能用一句话解释它,你就根本理解得不够透彻“我也不愿再做更多说明。而后者,则是A4区别于其它芯片最大的地方。

  一般而言,显卡是用来控制渲染而CPU是用来处理运算的。但是显卡功耗太大,根本不可能一直满负荷运转,大部分情况下芯片们只是以一半甚至更低效率运行。而苹果A4,在只有桌面或视频等2D应用时运用VXD375,而在3D游戏时动用PowerVR显卡。在去年Imagination公司的产品列表上,有两系列视频芯片,一系列负责解码冠名VXD,另一系列负责编码冠名VXE。但是两者型号都是为0结尾,只有苹果A4的VXD是以5结尾。事实上,它也根本不对外出售,可以说是Imagination为苹果A4量身定制的一块专攻2D芯片。它的好处,不仅省电,而且流畅。正是前面所说的,硬件可以为软件所定制,软件可以动用硬件特制模块的好处。

  以上部分内容摘自各个论坛,不知大家看了这些对比之后,还会不会觉得android有机会在平板电脑上和苹果的ipad叫板?三星摩托等平板4000多元,ipad2只需3000多,在这个价格对比之下,作为消费者会选择谁?

  不过在去年年末的时候,有了一个另类,就是亚马逊的kindle fire,价格199美金,销量总算是在平板电脑中占了一席之地,关于这个,我后续再花时间谈谈。

版权共享,随意转载:云破天开 » 研发工程师为你详解山寨机、品牌机和水货机(68)

评论

3+1=