造物者之吻:中国手机“爆改安卓”的这些年

如果我们把时间倒回去智能手机刚兴起的那几年,回到iPhone早先几代的时候。不知道大家是不是还记得这样一个画面?用苹果的朋友会对安卓用户说,安卓那么卡,我实在不知道怎么用。

那时候,苹果还频繁地与肾这个器官联系在一起,安卓手机相对高端点的还是HTC和三星,魅族和小米才崭露头角。而安卓必然会变卡顿和缓慢,似乎是个常识问题。为了解决这个它,网上流传着各种安卓刷机教程、一大堆清理内存的APP,以及无数《教你让安卓不卡的10个绝招》这样的文章。

沧海桑田,不过因循几年。

让我们回味一下今天,身边还有因为安卓卡顿而坚持不用安卓的吗?即使偶尔有人发出这种声音,似乎也马上会被朋友回怼过去“你几年不用国产手机了”?反而知乎和B站上,流传着的是“给美国人安利EMUI”这样的故事。

不经意间,我们似乎已经习惯了国产手机的高端定位,也很少有人还觉得安卓用几个月就会卡到不能开机。

但这一切到底是怎么发生的,可能大多数时候我们没空回头仔细琢磨。事实上,从移动终端格局初现,中国手机群落就一刻也没有停止过对安卓的优化和改进。直至今天,我们会发现中国用户享受的移动终端体验,几乎已经变成了“另一个物种”。

而这条“造物之路”并不好走。回顾这些年中国手机对安卓的一路“追打”,我们或许会惊觉,原来这些年手机厂商、开发者和万千用户一起,完成了一件有点了不起的事情。

安卓的功也过也

原生安卓的卡顿问题,是前些年移动互联网刚兴起时,硬件圈讨论最多的话题。但是开始回顾故事前,还是有必要再归纳一下安卓从诞生第一秒起就注定的是非功过。

2003年10月,Andy Rubin等人创建了安卓公司。从最开始,这个项目就是希望在Linux基础上打造一个有利于极客们随意开发的OS系统。

2005年,谷歌收购了刚刚成立22个月的安卓,并在此后完成了这一项目的持续优化与多边测试。2007年,谷歌以Apache免费开源许可证的授权方式,发布了安卓源代码。2008年,在苹果正式改称IOS之后几个月,对外发布了安卓1.0版本。

移动终端最终只留下了iOS和安卓,有人认为这是因为两个系统恰恰走向了两个极端。与iOS一切都被框定,只能严格按照苹果的规矩来做开发不同,安卓的最强优势就是它超强的灵活性与适应能力。

它能适应最低端的手机配置;把所有路径对外开放,哪怕一个网页都能安装应用;简单的安卓开发,近乎可以速成。

客观来说正是这些特质,才使得智能手机兴起之初,大量的手机厂商、应用开发者、互联网创业者,以及大多数不想卖肾换手机的用户,能够进入智能移动终端这个新世界。

但是成也开放,病也开放。安卓就像修建了一座足够广阔的城市,但是从设计之初就没打算在城市里安置任何市政管理系统。车随便进,人随便住,垃圾随便堆,最终导致了安卓广为诟病的“必卡”问题。

综合来看,从技术规则上有三件事决定了安卓一直为人诟病的缓慢和卡顿:1无节制开放的应用接口,导致安卓更可能加载垃圾软件;2每个应用的缓存文件都在安卓系统中进行堆积,造成系统会越用越卡顿;3安卓执行Java代码,采用的虚拟机转换机制,导致应用的运行速度缓慢。

这三个“原罪”式的问题,虽然在安卓的历次更新中得到了大幅度缓解,但在本质上并没有解决。

好在这不是安卓故事的终点,而是中国软件工作者的起点。

开启中国式交互

虽然安卓的卡顿问题从来都是“第一黑点”,但中国开发者对安卓做的第一件事并不是解决卡顿,而是改变交互。

客观来说,谷歌发布的原生安卓是有自己的交互理解和审美设计的,然而其确实更加符合欧美用户一贯的审美体验。另一个安卓的问题在于,中国用户是连接不上大量谷歌服务的。手机厂商必须给微信、淘宝、O2O这类“中国式移动服务”安排好入口。

于是从2010年开始,手机厂商陆续踏上了 定制安卓交互的道路。其中最有名的商业案例,是从MIUI起家的小米。MIUI率先取消了安卓的应用抽屉设计,将其改为类似iOS的桌面平铺设计。搭配简练精美的设计语言,奠定了中国用户独特的安卓习惯和交互审美理解。

当然,中国手机改变安卓交互也不是只有MIUI一种模式,比如主打海外市场的一加,就采取了尽量贴合原生安卓设计的定制模式。此后, 定制的UI系统开始成为安卓阵营国产手机的标配,让国产手机从系统外观上就变成了独立的物种。

这可能是大部分用户都能直观感觉到的安卓变迁史。但在这之后,国产手机“爆改安卓”之路开始走向了关键问题——卡顿,终究是用户体验的死敌。

华为的深层行动

如果说,安卓手机在中国市场的崛起,与改造交互设计密不可分。那么华为的近几年的强势崛起和走向高端化,则始终伴随着另一条主线:对安卓进行系统级的深层改造。

这个行动开启于2016年,伴随着Mate 9发布的EMUI 5.0中,有一个十分直接的能力,叫做“天生快一生快”。当时华为为此给出了一个著名的承诺:安卓18个月不卡顿。

上文已经说过,安卓的卡顿主要来自各个应用会带来大量碎片化文件。由于安卓是直接架构在Linux基础上的,其文件系统在最初并没有考虑碎片文件的快速回收。而安卓又可以随意安装应用,这就导致每个应用的缓存、副本都会产生大量文件碎片,最终把文件系统堵死,造成卡顿,这也就是那几年我们已经习惯要经常清理文件碎片的原因。

这是当时安卓最大的槽点,也是华为在开启高端化战略时,必须在基础软件层面解决的首要问题。最终华为的解决方案,是把安卓原生的文件系统,由EXT格式换成F2FS格式,从而使手机可以极大程度上避免文件碎片。

F2FS格式最开始是三星一位技术人员发明并开源的,但是出于各种原因,三星并没有敢于直接替换安卓的文件系统。而这个好比器官移植的“安卓手术”,却在华为数百人团队的努力下,在中国做成了。

最终结果,是从EMUI 5.0开始,用户就可以不再手动清理碎片文件。当年我们习以为常的动作,如今已经成了可笑的往事。

吃了一次“ 改动安卓”甜头之后,华为又屡次对安卓“下手”。比如去年我们非常熟悉的两个turbo。GPU turbo在安卓的图形中间件、内存管理、进程管理上进行了一系列优化;而Link turbo,改动了安卓的通信模块、连接模块。

至此,华为对安卓的优化应该说已经走到了相当深层的位置。而从P30系列发布以来,众多开发者开始关注一个新名词:方舟编译器。

它之所以引发了滔滔江水般的讨论,原因在于编译器这东西,已经不仅是在修改安卓某一部分,而是直接作用于安卓的底层规则。

从特性到规则:方舟编译器触发了什么?

大部分消费者可能不知道的是,安卓会卡和安卓会慢,其实还不是一件事。

即使文件垃圾并没有堆满安卓的“仓库”,我们也依然会觉得安卓打开复杂的APP或者同时加载大量文件时,反应效率明显不如iOS。

这个问题的原因,就在于上面所说的,安卓系统在执行Java指令的时候,需要进行虚拟机转换。所谓虚拟机,可以理解为程序员所用语言,与安卓理解的机器语言之间存在着一层翻译。翻译当然也没有什么不好,但是如果在启动应用的同时进行翻译,那显然就会浪费众多时间。这就好比两人聊天时,加一位翻译问题不大。但如果在足球比赛里,两名球员要通过场边的翻译进行传话,那就什么配合都甭想了。

既然虚拟机机制如此浪费时间,为什么还要用它呢?答案在于安卓是应用Java语言开发的,而为了让开发更方便,Java在最初设计时就加入了一层虚拟机设置。无论在什么硬件上进行的编程,最后统一打到虚拟机去处理,这样就让开发者有了很好的适配灵活性。

但是这个设置,如果是在争分夺秒的手机体验中,一遍翻译一遍执行的模式,就会变得异常累赘。尤其是今天的安卓应用,实际上往往是Java和C语言混合开发,两种语言在执行层相互转换,又会浪费大量的时间。

这个看似两难的问题,解决思路其实非常“简单粗暴”。华为给出的答案是,可以直接在开发层,通过编译器把应用直接转成机器码。咱们干脆把虚拟机扔掉就完了。

事实上,谷歌也早就意识到了安卓这个层面的问题,在安装5.0之后,已经针对编译做了很多优化,但依旧存在不少问题。而方舟编译器,则从基础规则上解决了转码的负担,让安卓系统的流畅度提升了24%,让EMUI 9.1在流畅度层面丝毫不逊于iOS。

这个改变听上去很轻松,有种“一招毙敌”的爽快感。然而底层编译器却是软件层面最复杂的工作之一。为了能够真正在“安卓的灵魂处动刀”,华为从09年就开始准备,2013年就开发了自研编译器HCC。2014年,华为以“多顾茅庐”之势,请来了编译器领域世界最著名专家之一Fred Chow,担任华为编译器技术首席科学家。坊间流传,全球能在底层改动安卓的人不到五个,而Fred Chow是其中之一。

就这样,华为2012实验室加上软件工程部的数百位研发人员的漫漫十年征程,最终换来了将要开源给全球开发者的方舟编译器。

故事到这里,某种程度上来说中国的软件开发者们,已经不仅仅是安卓的使用者,而是它的造物者。

当然,故事并不打算就此结束。

今天是终点吗?

华为消费者BG软件部总裁王成录博士认为,优化安卓依旧没有结束。

而下一步,或许将是开发者可以跳过中间层,直接将应用连接于安卓底层库,实现极简的个性化开发。

在手机市场的“后半场”,越来越少看到“巧计取胜”的案例。而留下的,更多是技术 和技术壁垒。

围绕安卓这条线,华为为代表的国产手机,接下来至少要做两件事:一是继续深化对安卓的优化改造,甚至通过大量技术贡献反向影响安卓的大版本更新,成为主航道的制定者;二是绕开安卓“必须适配每一台手机”的特性,在其他赛道上做出差异化升级。今天来看,这种升级主要围绕三个方向发生:云端一体化体验、AI功能和泛IoT联接。

而对于华为这样的大玩家来说,更进一步的题中应有之义,是通过从OS层到基础软件,再到芯片架构,在每一层都拥有足够的自主话语权,叠加在一起构成了华为未来围绕移动终端,可以打出新的战略可能性——在华为将目标定为全球顶端的时候,这是一条必须修筑的道路。

今天我们很可能会忽略,安卓这个词其实跟AI有密不可分的关系。1886年,法国作家维里耶德利尔·亚当在其创作的小说《未来夏娃》里,给外表像人的机器人女孩起名叫做Android。

书中“安卓”经历了一次次蜕变,最终接近于男主人公梦中情人的样子。

显然,过去被冠以“穷人才用安卓”的操作系统,实在不像书中的安卓小姐。好在就像书中的情节一样,安卓在现实里也没有停止进化。它过去不如人意,未必将来也是如此。

就像曾经中国在操作系统上是失语的,但未必将来也是如此。若干年过去,华为已经成为了世界上为安卓贡献最多的开发者之一,未来,谁又知道呢?

安卓女士自机器之梦中醒来,会源于造物者的亲吻。

免责声明:此文内容为第三方自媒体作者发布的观察或评论性文章,所有文字和图片版权归作者所有,且仅代表作者个人观点,与 无关。文章仅供读者参考,并请自行核实相关内容。投诉邮箱:editor@fromgeek.com。


企业会员

免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向本网站提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后,将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接。

2019-05-05
造物者之吻:中国手机“爆改安卓”的这些年
事实上,从移动终端格局初现,中国手机群落就一刻也没有停止过对安卓的优化和改进。

长按扫码 阅读全文

Baidu
map