前不久,由OPPO、vivo、小米、百度、腾讯等软硬件企业联合成立的移动智能终端生态联盟(Intelligent Terminal Golden Seal Alliance,以下简称“金标联盟”)公布了移动应用生态系统全面向64位迁移的最新时间节点,这预示着真64位应用时代即将来临。
64位征途早已上路
早在2011年,ARM就发布了第8代架构ARMv8,这也是ARM历史上变革最大的指令集(这个头衔也被用在了2021年发布的ARMv9身上),正式扣响了64位时代的大门。2013年9月,苹果首发搭载64位处理器(Apple A7,基于ARMv8指令集自研)的iPhone 5S,至此移动处理器的风向瞬间从32位转向64位。
为了迎合这股风潮,ARM在2014年正式发布了基于ARMv8-A指令集定制的Cortex-A57和Cortex-A53公版IP架构,谷歌也带来了支持64位技术的Android 5.0系统。前者被高通骁龙410(MSM8916)、骁龙810、联发科MT6732和麒麟620先后列装,至此Android手机也渐过渡到了64位时代。
虽然8年前智能手机在硬件和系统层面就已经跨过了64位的门槛,但时至今日Android的软件生态却依旧处于64位应用和32位应用乱战的格局。64位应用都有哪些优势,为何它的普及就这么难?
64位应用有何优势
电子计算设备都是使用二进制(0与1)来表示信息,32位与64位分别指的就是处理器在单位时间内,能一次处理的二进制数的位数分别为32位和64位。在寻址方面,32位的寻址空间为2的32次方(大约4GB),而64位则可实现2的64次方的指数级别增长,并支持动态内存分配,这意味着在64位的软硬生态下,任何一个应用都可以分配到超过4GB的RAM,这对于游戏等大型应用的性能表现有着更进一步的提升。
vivo官方曾经如此评价:“支持64位设备是Android应用程序利用超过4GB RAM地址空间、在数据处理中利用更宽寄存器和更高精度,以及获取强化安全特性的唯一途径。”换句话说。64位处理器 64位系统 64位应用,只有这三驾软硬层面的马车并驾齐驱时,才能让手机的运行效率得以最大限度的释放。
联发科实验室曾基于不同IP的移动SoC进行过详细测试,结果表明在玩家关心的主流游戏性能方面,64位相比32位有着30%~40%的提升,64位应用能带给手机玩家更加丝滑流畅的游戏体验。
在应用冷启动速度方面,联发科实验室还基于天玑9000移动平台进行了相关测试。结果显示,64bit应用的冷启动速度相比32bit应用快13%~60%,用户可以明显感知到应用启动速度的提升。
在手游方面,通过Unity Engine “Armies”Demo对比测试结果表明,运行64bit编码版本相比32bit可带来额外的16%的帧率提升。
此外,根据ARM实验室的测试数据显示,与32bit计算相比,智能手机上的64bit计算在压缩文件时可带来超过90%的性能提升,在解压缩时速度则能提高将近80%。在能耗方面,对比于32bit的计算环境,主流移动处理器架构在64bit的计算环境下能获得13.2%~35.2%的能效提升,这意味着处理器只需耗费更少的电能就能完成相同的计算任务。此外,64bit架构还强化了设备的安全性,包括分支目标识别(BTI)、指针身份验证(PAC)和内存标签扩展(MTE)等,这些在32bit架构中无法实现的安全功能都将在64bit架构中实现。
既然64位生态这么好,为什么各大应用商店提供的很多最新应用却依旧死守32位的版本呢?
64位的普及之路并不顺利
没办法,理论和现实之间是存在摩擦力的。在过去的十余年里,32位应用已经建立了完善的开发者生态,哪怕是ARM这个规则制定者都不能推倒重来另起炉灶。为了兼容32位程序,ARM在ARMv8和Cortex-A57及其后续指令集和架构中加入了AArch64和AArch32两种运行状态,分别适配64位和32位应用。
对于开发者来说,一款应用要想取得成功,关键是可以俘获更多的用户安装,因此绝不可能放弃存量更多的旧手机(搭载仅支持32位应用的处理器和系统)。既然新款处理器和Android系统都能同时兼容32位和64位的应用,从成本和后期的维护来看,直接开发32位应用显然最为划算,新老手机都能安装,最多就是新手机无法以最佳状态运行而已。如果只开发64位应用,会流失庞大的老设备用户群体,同时推出32位和64位应用对后续维护成本也是一种负担。
相对来说,苹果在推广64位应用时就要顺利许多。因为iOS属于封闭的软硬生态,就连开发者使用的开发工具都来自于苹果,强大的管控能力让苹果在软硬件的适配方面说一不二,从2014年到2017年,只用了4年时间就完成了32位应用向64位应用的迭代。然而,Android却属于开放生态,除了谷歌自己的Play商店,各大手机品牌也都出厂预装了自家的应用商店,市面上还存在以百度软件管家、酷安、腾讯应用宝为代表的无数第三方应用市场,我们在安装某个应用时还经常遇到从第三方商店跳转到官方商店的情形。在这个大环境下,想装个纯净的官方应用都不太容易,全面普及64位应用就更难实现了。
就拿笔者手机中安装的应用来看,包括北京银行、鲁大师的性能评测插件、OPPO手机预装的游戏中心在内的很多应用依旧还停留在32位的版本上。
来自顶层建筑的尝试
在Android生态领域,谷歌和ARM无疑属于“顶层建筑”,而它们也老早就开始了推广64位应用的努力。以谷歌为例,早在2019年初就通知开发者:“从2019年8月1日开始,您在Google Play上发布的应用将需要支持64位架构。64位CPU为您的用户提供更快,更丰富的体验。添加应用程序的64位版本可改善性能,为将来的创新打下基础,并为使用仅64位硬件的设备做好准备。”
然而,Android的开放生态,注定了谷歌与开发者之间的关系更像是盟友与合作者,而不是iOS生态中开发者只是苹果的“打工仔”。何况国内用户对Google Play几乎无感,更多第三方的分发渠道,大幅限制了谷歌的掌控力。
相对于谷歌,ARM推广64位应用的手段显得更加暴力和直接。早在2020年10月ARM就曾表态,自2022年开始的IP设计中将逐渐取消对32位的支持。实际上,ARM在2021年发布的基于ARMv9指令集打造的Cortex-X2(超大核)和Cortex-A510(小核),就已经取消了对AArch32的支持,只有Cortex-A710能同时支持AArch32和AArch64,据说这还是应中国客户要求特殊设计的,因为中国市场还有太多应用停留在32位。
这意味着,当你打开某个32位APP时,无论它处于前台还是后台挂起状态都只能交由Cortex-A710运行,既无法享受到Cortex-X2的更强性能,也无法通过big.LITTLE技术切换技术切换到更省电的Cortex-A510,存在严重的效率折损和资源浪费。大家可以想象一下,当你正在使用搭载新骁龙8和天玑9000芯片的旗舰手机时,哪怕运行个小说软件(32位版)就必须使用以Cortex-A710核心运行,长时间忍受高耗电和高发热的情景吗?
ARM在6月底正式发布了面向下一代移动平台设计的IP架构Coretx-X3、Coretx-A715和Coretx-A510 Refresh,其中Coretx-X3和Coretx-A715均放弃了对AArch32的支持,但全新设计的Coretx-A510 Refresh则同时兼容AArch32和AArch64,但是AArch32只限于特定的选择中。
据悉,预计到2023年底,上市旗舰手机中ARM的IP架构将全面放弃对32位应用的支持,仅支持64位应用运行,这是上游厂商在“逼”下游厂商全面支持64位应用。其更深层的原因其实是,目前不支持64bit应用程序的纯32bit应用处理器在移动市场中出货量已几近消失,同时32位应用的天生缺陷也开始逐步限制了Android平台软硬生态的进步,而这一问题已经到了非解决不可的地步。
金标联盟推进64位移动计算生态
随着时间的推移,无论是ARM、谷歌、开发者还是普通用户,都已经对64位应用一统江湖达成了共识。而“金标联盟”的成立以及移动应用生态系统全面向64位迁移公告的发布,就是这种共识的集中体现。
早在今年4月,金标联盟就宣布要共同推进64位移动计算生态,并发布了第一阶段的2个关键时间节点:自2022年4月1日起,金标联盟成员OPPO、vivo、小米(按首字母排序)等主流应用商店,不允许单独上架新的32位应用包,可支持采用兼容包或双包上传,游戏类暂不受限制。允许单独发布32位应用的更新包,产品侧会进行强提示。自2022年7月1日起,不允许单独上架新的32位游戏应用包,可支持采用兼容包或双包上传。
在6月中旬举办的金标联盟开发者沙龙中,金标联盟再度强调了64位应用生态的价值与意义,并公布了金标联盟64位应用生态推动进程的更详细计划:自2022年10月1日起,应用(游戏除外)更新包不允许单独更新32位应用包,可支持兼容包或双包更新。自2022年12月1日起,游戏应用的更新包不再允许单独更新32位应用包,必须支持兼容包或双包更新。
换句话说,从今年12月开始,金标联盟涉及的应用商店将全面实现64位应用的迁移及适配工作,实现Android生态应用整体性能提升、安全提高和资源保护的既定目标。公告发布后,OPPO、vivo、小米也积极响应并倡议共同推进64位移动计算生态,ARM和谷歌推动的64位梦将最终得以落地。
除了64位应用生态建设以外,金标联盟还公布了金标认证服务。我们可以将金标认证服务理解为手机领域的“EVO认证”,凡是通过联盟制定的稳定性、兼容性、性能、功耗、安全等标准测试后便能获得金标认证,消费者闭眼都可放心购买。针对即将来袭的Android 13系统,金标联盟为开发者提供了兼容性框架工具,还与开发者分享了大屏手机应用适配的系统性设计思路。
在全面拥抱64位应用的进程中,IP供应商(ARM)、移动芯片厂商(高通、联发科等)、系统供应商(谷歌Android)、应用商店和开发者都是不可或缺的一环。不知道在金标联盟的推动下,今年年底之前Android手机生态真能全面跨入64位时代吗?让我们拭目以待吧。
,