为什么安卓国产APP的体积越来越大

安迪-比尔定律:软件就是会越来越肿  安迪-比尔定律非常了不得,大名鼎鼎的摩尔定律,在这条铁则面前也得抖三抖。
说安迪-比尔定律统治了摩尔定律,似乎也不过分,当然这不会是因为安迪-比尔定律的名字比较长。
无论摩尔定律拔高了多少硬件性能,人们都不得不年年掏钱升级新设备,这就是安迪-比尔定律的威力所在。
安迪-比尔定律具体指什么?
我们一起来看看。
安迪-比尔定律不是定律,它是一个机遇!——by卖硬件的JS  要讲安迪-比尔定律,先得提一下摩尔定律。
摩尔定律大家都懂,网上普遍流传的是“芯片每18个月性能提高一倍,价格减半”,这不是原版。
戈登·摩尔的原话是晶体管每24个月增加一倍,18个月是时任Intel主管的大卫·豪斯(David House)的说法。
细节不要紧,大概意思基本一致。
硬件的发展也的确如同摩尔定律所说,性能不断爆发式增长。
24个月的说法拟合度更好,不过在近年的移动平台上套用18个月的说法也并无不可  然而多年过去,事情却不对头,这硬件是涨了,但没感觉变快啊?
三年前用电脑干什么活,现在也是基本如此。
硬件猛了,但拔高的性能只能让芯片化身暖手宝,用来养电厂,这不坑爹么!转头一看,微软Intel合体的Wintel联盟笑而不语。
  这就是安迪-比尔定律的本质。
所谓安迪-比尔定律,安迪指的是Intel前CEO安迪·鲁夫,比尔则是大家都知道的比尔·盖茨。
这条定律可是把这两位IT大佬狠狠黑了一把啊。
安迪-比尔定律的含义就是,安迪给啥,比尔拿啥;
Intel产多猛的硬件,微软会用越来越臃肿的系统和软件统统吃掉增长的硬件性能。
安迪-比尔定律,实质上所描述的,就是软件臃肿化的问题。
安迪&比尔:别光看啊,快买呀  随着功能的加入和交互的革新,软件做得越来越大,是很正常的事情。
然而,软件臃肿化并不是单指软件体积膨胀,重点是软件增加的功能和变大的体积不成比例。
安迪-比尔定律的主角是Intel和微软,但其实在整个业界中,软件臃肿化已是尾大不掉。
无论是桌面平台还是移动平台,软件臃肿化的迹象都随处可见。
桌面平台&移动平台:难逃软件臃肿化魔咒  ◆桌面平台  近年来桌面平台软件臃肿化最令人菊花一紧的,应该当数Windows Vista了。
Windows Vista一出,Aero毛玻璃特效亮瞎了无数人的眼,笑开了无数内存卖家的颜(虽然后来很快就哭了)。
而同样的历史,也在Windows XP接过Windows 98大旗时上演过(Windows Me那破烂就不提了,Windows 2000隶属Server系列也不提了)。
无论是Vista还是XP,都带来了大量革新,遗憾的是,带走的老机器也不计其数。
说真的,当年期盼微软出个Vista+内存同捆套餐的人,不止一两个  除了操作系统外,桌面应用软件的臃肿化也非常明显。
以IM软件为例,多年过去,IM的主要功能没有发生什么大变化,还是打字语音加视频,但QQ 2003 10M不到的体积已成绝唱。
虽然新版QQ 2013五十多M的体积,看上去似乎不算夸张。
但多开几个窗口你会发现,连2G内存都喂不饱QQ。
夭寿啦!1G内存都能养活Windows XP了!  ◆移动平台  在移动平台上,软件臃肿化甚至要比桌面平台更严重。
先来看看以优化效果拔群闻名的苹果,iOS4的体积600M不到,而iOS7体积已经达到了1G多。
至于所占资源嘛,瞧着当年行云流水iPhone 4被卡哭的样子,大家应该心里有数。
而iPhone 4有什么功能是必须用iOS7才能实现?
Siri?
Touch ID?
高速连拍?
对不起,旧机型的标配是旧功能,以及卡顿。
很多新功能都是新设备专属,功能增加和软件的增肥完全不成比例  再来看看以硬件食量闻名的安卓,要不是安卓卡在了32位的瓶颈,恐怕在今年已经把RAM堆到4G了吧?
8核+4G RAM,光是论名头,很多PC都没这么夸张,然而这是否就能喂饱安卓?
还得打个问号。
再加之安卓App受到的限制比iOS平台来得少,开发者们简直像是狂欢一样,拼命往里面添油加醋。
安卓App变得重口而滞胃,实在吃不消啊。
吃吧吃吧,越吃肥得越夸张,最后也许动都动不了  可以说,无论是iOS平台还是安卓平台,无论是移动平台还是桌面平台,软件臃肿化现象都非常普遍。
通胀是经济发展不可避免的现象,软件臃肿化似乎也在消费电子发展史上,充当了类似角色。
为何安迪-比尔定律屡试不爽?
软件臃肿化真的不能避免呢?
我们一起来看看软件增肥的缘由。
增肥的食粮:软件臃肿化三大缘由  ◆硬件需求进化:好钢用在刀刃上,刀刃同样要好钢  前面提到,随着技术进步和用户需求的发展,软件增肥,本来是一件非常正常的事情。
想要马儿跑,哪能让马儿不吃草。
拿最直观的界面来说,早年的计算机只能够显示最基本的字母,如英文字母以及日文的假名等等,要显示各种汉字,还得增加字库容量;
到了图形界面年代,从16色到256色到32位色,每一步进化都需要更先进的硬件铺路。
想要用马车把人拉到火星上,未免也太魔法了点。
虽然系统仍保留高效的命令行,但恐怕最令人流连忘返的,还是图形界面的各种吃资源特效  十年前PC可以轻松解码DVD,对1080p的蓝光碟一筹莫展,而现在的手机都能放4K视频了;
十年前手机可以听歌拍照,但和现在将随身听卡片机打得掉一地牙的手机相比,完全不是一回事。
在未来,3D、全息以及沉浸式体验将会给人们带来另一番新天地。
理所当然,这片天地必须要用更强劲的硬件才能撑得起。
  ◆软件功能过剩:好钢用在刀刃上,刀背也来分杯羹  不知道从什么时候开始,各种软件突然变得很喜欢把奇怪的东西塞进自己里面。
一个好好的聊天软件,突然就多出了新闻浏览安全杀毒等功能;
一个好好的浏览器,突然就多出了安全杀毒社交聊天等功能;
一个好好的杀毒软件,突然就多出了社交聊天新闻浏览等功能。
平时装三个软件可以得到三种功能,现在装三个软件得到九种功能,什么你说都是功能重复的?
我听不到。
总之就是一片顶三片,疗效特好,专治电脑性能过高!你告诉我,这是一个聊天软件?
  目前IT业界正处于从桌面端迁移到移动端、从本地迁移到云端的剧烈转型期,新兴的应用环境层出不穷。
受业界大环境的影响,专精于某一项功能的软件变得越来越少,开发者们恨不得用一个安装包就统治了用户的使用环境,为前途和钱途铺好路。
在这种指导思想下,打铁的也开始割麦子,煮饭的也开始负责炼钢。
想把摩尔定律拔起来的性能都物尽其用,好钢通通用在刀刃上,各种随系统自启的软件应用摇晃着一身肥肉纷纷起身抗议不答应。
杀了两三个流氓,还有无数后来人。
  ◆软件欲求不满:好钢坏钢一箩筐,管他什么顶硬上  现在电脑的性能真的过剩吗?
对于某些开发者而言,硬件似乎没有什么过剩不过剩的区别。
无论硬件有多高,总有人能够写出榨干性能的软件。
这些软件又可以分为两类。
  第一类是无论是哪个时代都会出现粗制滥造导致的软件臃肿化。
不管硬件性能去到多高,恶劣的代码总能够化神奇为腐朽,这在开放程度高的平台尤为常见。
前面提到安卓平台软件臃肿化问题严重,就是着了这方面的魔了。
安卓平台没有严格的审核,也没有细密的权限控制系统,入门门槛低,开发者可以放开手脚干。
面对完全不稀缺的资源,恐怕懂得珍惜的人不多吧。
于是,一堆狂吃硬件资源的安卓App诞生了。
安卓的开发环境,太容易写出垃圾App了  第二类是太过超前的软件,同样没有考虑到当前硬件平台环境。
但和第一类不同,这类软件并不是粗制滥造,反而是经过精心设计——但看上去不像是为普通人设计的。
以Windows Vista为例,笔者一直认为Vista是一个非常优秀的系统——前提是它不是运行在2006年主流配置为单核CPU和512M RAM的PC上。
  实际上,Windows 7大致就是Vista的马甲,两者性能速度硬件需求基本是同一水平,为何两者口碑差距如此大,除了一些细节的不同外,大概还是因为Windows 7诞生于2009年而非2006年吧。
软件臃肿化:真的无药可救?
  现代人的体重越来越夸张,以希望国为例,根据统计,美国的肥胖率已经接近三成。
肥胖问题在美国每年可以造成约十万至四十万人死亡,并大幅增加医疗支出和其他社会成本,美帝每年需要在肥胖问题上花费1170亿美元,简直水深火热。
现在的软件环境,和肥胖问题有异曲同工之处,人们不得不花大力气喂饱软件们贪婪的硬件需求,并直面由软件臃肿化带来的卡顿、停止响应、崩溃等问题,太虐心了。
无论是人脑电脑,血管都被注入了时代特有的脂肪。
无论在人类社会还是IT业界,肥胖都已经成为了大问题  人们已经意识到了肥胖化的后果,减肥俨然已经成为了都市生活不可或缺的话题。
同样,IT业界也在为解决软件臃肿化而努力。
虽然软件臃肿化的大趋势并没有停止,但近年来被安迪-比尔定律折腾得吃不消,狂吃减肥药试图去除软件臃肿化的案例也不少。
桌面平台的减肥成功人士代表为Windows,移动平台上则是安卓。
一起来围观下,励志励志。
  ◆减肥励志案例一:微软WindowsWindows Vista的肥胖饱受诟病,微软显然也知道自己的设计有点太超前了。
从Windows 7开始,Windows系列投入了轰轰烈烈的减肥运动中。
Windows 7是第一款比前代更省资源的Windows系统,意义重大。
虽然减肥程度不算夸张,和Vista基本也是处于同一重量级,但加上I/O方面的进步,Windows 7给人的感觉要更加高效。
从Vista到Windows 7,从Windows 7到Windows 8,微软每代都在减肥  微软将减肥运动延续到了Windows 8这一代,Windows 8也成为了第二款比前代更省资源的Windows系统。
按现在Windows往平板手机迁移的走向,Windows 9很有可能依然比前代更省资源,希望如此吧。
  ◆减肥励志案例二:安卓4.4  安卓的臃肿相信毋庸多言了,Google也痛定思痛,这次安卓4.4在优化上下了血本。
首先,Google斥巨资2300万美元收购了法国雷恩的一家创业公司Flexycore,这是一家专注安卓优化的公司。
然后在安卓4.4中,Google启动了“Project Svelte”(瘦身计划),系统内存需求、运算量峰值大大减少。
此外,针对安卓App效率低下问题,Google不再完全依赖Dalvik虚拟机,启动了全新的ART机制,App运行速度大幅攀升。
安卓4.4减肥成功,简直感天动地  安卓4.4的努力效果拔群,有人将安卓4.4移植到了仅有512M RAM和单核CPU的Nexus S中,发现流畅度惊人,符合Google官方声称的“安卓4.4可以流畅运行于512M RAM设备”的宣传。
减肥成功的安卓4.4对于用户来说无疑重大利好,也许安卓的硬件大战可以暂缓一下了。
软件臃肿无法停息:为何大家放弃治疗?
  从Windows和安卓的例子可以看出,软件臃肿化并不是无药可救,但为何人们往往放弃治疗?
我们可以来参考一下从来不会发生软件臃肿化的游戏机平台。
游戏机平台的寿命长得惊人,动不动五年以上乃至再战十年。
随着时间的冲刷,游戏机上的游戏优化效果甚至会越来越好。
06年发布的PS3至今仍可玩到GTA5、Crysis 3等最新大作(虽然效果是差了点),06年的普通PC现在还能换几条柴?
在游戏机平台上,软件索求的资源是稳定的,新游戏并不会比旧的更耗资源  游戏机平台非常封闭,而且在长久的生命周期内硬件性能稳定得接近水平线。
对于开发者而言,这一方面迫于严格的审核,必须对游戏成品精益求精,你不能乱来,最多也就搞搞内购;
另一方面,稳定不变的硬件利于庖丁解牛,每一份性能该用在什么地方,会越来越了然于胸。
游戏机能够在悠长的生命周期内由始至终高效发挥机能,绝缘软件臃肿化,和其独特的平台生态密切相关。
开发环境、平台生态更迭太快,没法让开发者照应到老设备  再回头看看一年一换甚至半年一换的电脑手机,压根没法为开发者提供稳定不变的开发环境,软件应用不得不尾随进化神速的硬件平台更新;
同时,就算是审核以严格著称的iOS平台,苛刻程度也没法和游戏机平台相比,更别提门洞大开的Windows和安卓了。
微软和Google自然坐拥能够在时代大潮中淡定观望,慢慢打磨代码的人力财力,放长线钓大鱼;
但对于更多开发者来说,跟上平台更新的狂潮,用更多手段掌控用户,获取短期利益,才是更好的赚钱大法。
至于软件肿不肿……神优化又能怎样?
能发大财么?
爱玩神优化的话,就让热心的独立开发者自个玩儿去吧。
安迪-比尔定律仍会跟随摩尔定律很长时间  后话  不难发现,更迭越迅速的平台,越容易发生软件臃肿化现象。
硬件狂魔安卓的应用比iOS更臃肿,移动平台比近年来放缓更新步伐的桌面平台更臃肿,五年前的PC还能顶用,五年前的智能手机已成弱智矣。
不是大家不想减肥,兵荒马乱之中,今天不拼命给自己塞点什么,谁知道明天还有没有机会开饭?
摩尔定律作用越明显,安迪-比尔定律的效用也就更大,不得不说这是消费电子发展的怪圈,时代的眼泪啊。
  在可预见的未来内,软件臃肿化依然不会停下脚步。
摩尔定律和安迪-比尔定律相爱相杀的故事,恐怕还有很长一段历史可继续书写。
然而,无法治疗和放弃治疗是两回事。
作为一名用户,还是希望开发商们能够静下心来,思考用户体验的本质,让每一份增长的硬件性能都能物尽其用。

标签