Play商店、应用汇更新的APP都不同不仅手机厂商有自己的官方软件商店,还有像百度软件管家、酷安、腾讯手机助手等等这样的第三方市场。如果手机中安装了非手机市场的官方版,可能还会在多个商店的版本之间“反复横跳”,就更别提64位适配了,能装个纯净的官方应用都不是一件容易的事情。总之,官方、非官方、固件版本混乱是安装软件生态的通病。其实到2021年,高通8 Gen 1和联发科9000处理器出来之前,都缺乏一套行之有效的方式来从“根儿上”解决这个问题。剩下的就只有从“底层”杜绝这个情况,用硬件生态来进行“管控”。比如高通、联发科于去年年底发布的骁龙8 Gen 1和天玑9000,除了具有非常强劲的性能提升这个大众可以“感知”的部分:整个框架升级到了ARM最新一代Cortex-X2超大核、Cortex-A710大核和Cortex-A510小核架构外,最大变化是更为底层的“提升”,即指令集就采用了ARM V9。ARM V9和上一代V8一样,都为纯64位指令集,Cortex-X2超大核与Cortex-A510小核只支持(向下兼容V8)64位,只有“中核”Cortex-A710大核兼容32位的V7指令集。
既然64位应用能够带来性能提升,那为什么普及来就如此费劲?除了前面提到的软件版本、下载渠道混乱外,一大原因是安卓对于“旧设备”的兼容性非常好,比如虽然谷歌通过各项措施来让开发者推出64位的应用,但仍然保留了对于32位应用的兼容,甚至在自家Chrome浏览器的下载页面也提供32位选择.另外对于开发者而言,维护运营成本也是制约64位普及的“绊脚石”,例如开发者如果只开发32位应用,它是完全可以运行在64位处理器上的,只不过不能以最佳状态运行而已。但如果只开发64位应用,对于一些旧设备来讲就根本无法运行,有流失用户风险。而32位和64位开发测试需要独立进行,对后续维护成本也是一种负担。此外还有重要一点,开发者开发安卓类应用并不会单纯使用纯粹的Java层开发,而是利用Android NDK来让Java与C 结合,而在C 中基本都是团队运作,这对于小团队开发者而言,维护和后续安全性都是问题。2022年了,安卓的64位设备和APP发展的怎么样?既然联合倡议已经公布,安卓手机厂商执行的怎么样?根据友盟 U-APM的数据显示,截止到2021年12月,市面上64位和32位设备所占比例为65%和35%,而根据友盟 U-APM的移动应用性能监控平台显示,32位设备的应用崩溃现象是64位设备的4.8倍,不论是设备所占比还是稳定性,64位应用都是趋势。
而就目前手机终端设备内置的官方应用商店也好,第三方应用市场也罢,华为、OPPO应用商店都不会直接标识出升级后的应用是否为64位,只有小米在应用商店会清晰地标识出哪款软件在升级时为64位。
左边为vivo应用商店 右侧为华为应用商店 都没有标注64位APP例如我用的华为手机就需要借助第三方程序LibChecker来查询机内应用,目前机内应用数量为312个,大约有66%的应用为64位,29%的应用为32位。
左侧小米12 Pro百度地图为64位 右侧为32位 打开速度没有明显变化安卓的开放软件生态系统,直接导致了软件部分的碎片化,想统一并非易事。此外,从现在安卓软件来看,目前的安装包体积越来越大,这就直接导致安装时需要消耗的内存、运行时占用的系统资源以及对于系统的性能要求也越来越高。采用64位系统可以让单线程处理超过4GB运行内存,这对于处理一些超大型游戏、高码率高规格的视频文件来讲,可以更充分的调动手机内硬件,让机内硬件得到充分发挥。这就可以解释,为什么智能手机运行内存越来越高,动辄高达12、16GB,处理器频率也越来越高。这一切都是保证64位软件可以流畅运行,但这也带来一些负面因素,比如功耗问题以及超大核处理大型软件带来的发热等等。总之,2022年或许会成为安卓大规模普及64位应用的“元年”,硬件倒逼软件升级将是常态,不过归根到底,还是需要行之有效又不一刀切的举措,才能让安卓生态良性健康发展。