三易生活 04-08
安卓16要引入“云编译”,谷歌为入门级手机碎了心
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_keji1.html

 

高端旗舰无疑是一直以来手机圈最受瞩目的产品,各大厂商的新技术、新功能、新设计往往也会率先应用在这类机型上。然而在整个手机市场,支配世界的二八法则同样生效,定位更低的入门级产品才是更主流的选择,所以服务好这类机型的用户也成为了谷歌主导下 Android 生态的一门必修课。

在即将上线的 Android 16 中,谷歌计划加入一项名为 " 云编译 " 的新功能。据悉,该功能允许从 Google Play 商店下载的文件中加载应用程序工件,而不是在设备本地通过 Android 系统的 dex2oat 工具生成应用文件,以此加快低性能设备安装大体量应用的速度。

众所周知,不同定位的手机在安装应用时速度确实会有差异,毕竟 SoC 的 CPU 性能和闪存的读写速度都会极大影响应用的安装速度。比如使用骁龙 8 至尊版搭配 UFS   4.0 闪存的旗舰机,与配备联发科 Helio G80+eMMC 闪存的入门机在同一网络环境下,安装从应用商店下载的同一应用速度就会是云泥之别。

这是因为在 Android 4.4 上,谷歌摒弃了即时编译技术 JIT(Just In Time Compiler),力推 ART(Android Runtime)来解决之前 JAVA 代码执行效率太低的问题。而 ART 这种编译器的运行模式就是预编译 AOT(Ahead Of Time),指的是 App 在第一次安装时,Java 代码会预先编译成机器码,使其成为真正的本地应用。

具体来说,ART 在应用安装时会将 .apk 文件解压,并把 .dex 文件预编译为 .oat 可执行文件。但预编译的缺陷就在于效率低,所以到了 Android 7.0 上,谷歌就博采众长,让 Android 采用了 AOT+JIT+Interpreter(解释执行)共存的模式。

这一时期,AOT 不再将 .dex 文件编译为 .oat 文件,而是通过 Interpreter 的方式启动应用,在应用运行过程中系统探测到常用的‌ Hot Code(热点代码)则会切换到 JIT 编译,这些被编译的配置工件都会被存储在缓存中。当设备处于空闲状态时,AOT 就会将被编译的配置工件编译为 .oat 可执行文件。

然而无论谷歌如何优化,应用的安装都是在设备本地执行,所以就导致入门机的应用安装体验始终无法得到解决。如此一来,谷歌在 Android 16 引入云编译功能就有望成为这类机型的 " 解药 ",将应用的编译过程转移到云端,正好就规避了入门机硬件配置低的问题。

可面对数以百万计的 Android 应用,谷歌又要如何确保不出问题呢?显然仅凭他们自己显然做不到让每一个应用都适配云编译,所以谷歌的解决方案是 " 发动用户 "。当某一款安装了相关应用的设备处于空闲、且通过 WIFI 联网时,系统就会将其产生的编译配置工件上传到 Google Play,在其他用户的同款设备安装这一应用时,Google Play 就会知道该如何预编译这款应用了。

Google Play 一旦有了已经预编译的应用配置工件,接下来就是将应用的工件与 APK 文件一起从云端安装到用户的设备里。从某种意义上来说,谷歌的这个 " 云编译 " 与数年前曾红极一时的 " 云游戏 " 有着异曲同工之妙。只不过相比于靡费惊人的 " 云游戏 ",云编译只需用户花费一点额外的流量成本。

所以问题就来了,谷歌方面怎么就突发善心、想起了入门机的用户呢?实际上,他们这极有可能是在为已经烂尾的 Android Go 擦屁股。早在 2017 年的 I/O 开发者大会上,谷歌宣布推出针对低配置机型的系统解决方案 Android Go,旨在让 Android 生态获得 " 下一个十亿用户 "。

彼时印度、拉丁美洲、非洲等地还是功能机的天下,为了让这一批用户进入 Android 生态,谷歌将 Android Go 进行了合理的简配,并打造出售价 100 美元以下的 Android Go 机型与功能机和半智能机打擂台。为了确保 Android Go 的市场竞争力,谷歌甚至还单独为 GMS 服务推出了 "Go" 版本。

只可惜到了 2022 年夏季,Android Go 项目就基本陷入停滞,不仅是手机厂商放弃了推出相关设备,谷歌自己也将 Youtube、Galler、Files 的 Go 版本下线。其实 Android Go 烂尾的原因很简单,因为谷歌并未预料到中国手机厂商出海对于欠发达地区的影响会如此巨大。

谷歌当初为了让 Android Go 机型更加亲民,并为合作伙伴留下利润空间,为 Android Go 规定的硬件规格过低。彼时大量的 Android Go 设备实际上采用的是四核 Cortex-A7 主控、512MB/1GB 的内存,以及 480P 分辨率的屏幕,整体水平也就相当于 2010 年的 Android 手机。

在 2018 年左右,随着国内手机市场触碰到天花板,华米 Ov 等主流厂商开始将海外市场视为新的增长引擎,并凭借着性价比这个利器,快速席卷了印度、东南亚、中东、拉美、非洲等地。这些地区的消费者当然不是傻子,只需多花数十美元就能买到比 Android Go 机型强不知道多少的入门级机型的情况下,前者可不就滞销了。

过于简化的 Android Go 实际上是被消费者主动抛弃的,但 Android Go 虽然是 " 凉了 ",可使用入门机的用户依旧还在。在海外市场,疫情前和疫情后的 Android 生态也有了明显的差异,随着诸如 TikTok、X、Instagram 等大体量的超级 App,以及《原神》等跨平台游戏越来越多的情况下,使得入门 Android 机也有力未逮了。

随着 Android Go 的失败,手机厂商显然不可能重蹈覆辙,应用开发者更是听调不听宣,所以此时就只有谷歌亲自上阵,才能让使用入门 Android 机型的用户不至于被抛弃。

【本文图片来自网络】

宙世代

宙世代

ZAKER旗下Web3.0元宇宙平台

一起剪

一起剪

ZAKER旗下免费视频剪辑工具

相关标签

谷歌 android 闪存 java ufs
相关文章
评论
没有更多评论了
取消

登录后才可以发布评论哦

打开小程序可以发布评论哦

12 我来说两句…
打开 ZAKER 参与讨论