8

2022年,安卓手机为什么要全面普及64位应用?

 2 years ago
source link: https://www.51cto.com/article/701258.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
2022年,安卓手机为什么要全面普及64位应用?-51CTO.COM
2022年,安卓手机为什么要全面普及64位应用?
作者:lzh 2022-02-13 10:36:21
从这五大厂商发布的联合倡议来看,只要在OPPO、vivo、小米、腾讯应用助手、百度手机助手上传或者更新APP,都需要在21年12月底前上传64位格式,不再接受32位的APK,而后者更是在2023年直接无法在支持64位系统上运行。

2021年底,国内安卓五大应用商店,共同宣布了将会推进国内安卓生态对于64位应用的支持。从这五大厂商发布的联合倡议来看,只要在OPPO、vivo、小米、腾讯应用助手、百度手机助手上传或者更新APP,都需要在21年12月底前上传64位格式,不再接受32位的APK,而后者更是在2023年直接无法在支持64位系统上运行。

b844e0c670cd0114466100aad819004386ef91.jpg

而华为则通过华为开发者联盟邮件通知所有开发者,华为将会分阶段淘汰32位应用,并全面推行64位版本:

2022年2月1日起,在华为应用市场新上架/升级的游戏及应用,必须包含 64 位版本,华为应用市场不再接收仅包含 32 位版本的应用;9月1日起,华为应用市场将不再接收包含 32 位版本的应用。

0488525183760251e373997417ec7c6013027e.jpg

华为开发者邮件 图片来自网络

让手机终端厂商这样“迫在眉睫”的推广64位应用最主要的原因是来自上游供应链的压力。比如之前ARM就宣布,将会从2022年开始,旗下芯片产品之中CPU的Cortex大核将取消对32位的支持,这是上游厂商在“逼”下游厂商全面支持64位应用。

安卓的64位之路并不顺利

关注手机硬件的用户应该知道,其实早在Android 5.0系统发布时,就已经支持64位应用,当时处理器为高通骁龙410,这也是高通首款支持64位的处理器,时间为2013年,而到2022年才“强制”实现到64位,这与谷歌在2019年要求开发者在google商店中提交64位应用整整推迟了3年。

虽然当时谷歌已经通过集成最新开发工具Android Studio,来打开的APP直接默认为64位so文件,想以这种“强制”性的新规来约束开发者。但这样做似乎并没有引起足够的重视,开发者依旧可以通过修改Android Studio的配置文件使得其在打包so文件时可以使用32位来“绕过”,国际环境如此,国内安卓生态环境就不一样了。

4184c1f65898c1b4e3329103f99f3b8ed249d0.jpg

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指令集。

57bbbc502fe3e513f154628155181826d0935c.jpg

换句话来讲,如果这款软件还是32位的,那么运行在骁龙8 Gen 1和天玑9000这类V9指令集的新架构处理器新机上,就只能被锁定在A710上运行,这样手机不管是锁屏还是打开“性能模式”运行,应用始终都处在A710这个比上超级大核性能不足,比下小核也不省电的核心上。

64位到底有啥提升?

最直接的优势,就是能从数字上直接看出来,即64位处理器性能要更强,vivo曾经表示“支持 64 位设备是安卓应用程序利用超过 4GB RAM 地址空间、在数据处理中利用更宽寄存器和更高精度,以及获取强化安全特性的唯一途径。”

在相同频率下,64位处理器可以处理8字节数据,而32位只能处理4字节数据,处理数据更快,此外在寻址空间上也有非常大差距,例如32位寻址空间为2的32次方,大约支持4GB,而64位是指数级别增长,为2的64次方,并支持动态内存分配。

总而言之,64位处理器、支持64位应用系统以及64位应用共同协作,这软件上的性能“三架马车”并驾齐驱,才能让运行效率得到提升。

b79ab62536bddb9ad57383259d57ee3a4aac36.jpg

既然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位应用都是趋势。

15f4ae8632804d16e56241bdea8b17a5323bc5.jpg

而就目前手机终端设备内置的官方应用商店也好,第三方应用市场也罢,华为、OPPO应用商店都不会直接标识出升级后的应用是否为64位,只有小米在应用商店会清晰地标识出哪款软件在升级时为64位。

46927c47191078974e541314328bcfd2dcfee7.jpg

689889428c53e26c1214667c3e8e1241213274.jpg

上为vivo应用商店 下为华为应用商店 都没有标注64位APP

例如我用的华为手机就需要借助第三方程序LibChecker来查询机内应用,目前机内应用数量为312个,大约有66%的应用为64位,29%的应用为32位。

39c42d7083938ebed95092a3fed774317a3cc0.jpgLibChecker查询64位软件基本上都是google系和国际APP 32位则为国产软件居多 手机为Mate 40 Pro EMUI 11版本

但安卓应用升级到64位后,也并不意味着会比32位好用,据知乎网友嗜金水狙反应,在Play商店中的QQ虽然是64位版,但有严重bug无法使用,也没有夜间模式,没有简洁模式。

82c42a8597bec872dea330827a74712b1aab9b.jpg

图片来自知乎网友嗜金水狙

而Play商店中的QQ音乐老版本为64位,新版本又更新回32位。

安卓的开放软件生态系统,直接导致了软件部分的碎片化,想统一并非易事。

此外,从现在安卓软件来看,目前的安装包体积越来越大,这就直接导致安装时需要消耗的内存、运行时占用的系统资源以及对于系统的性能要求也越来越高。采用64位系统可以让单线程处理超过4GB运行内存,这对于处理一些超大型游戏、高码率高规格的视频文件来讲,可以更充分的调动手机内硬件,让机内硬件得到充分发挥。

这就可以解释,为什么智能手机运行内存越来越高,动辄高达12、16GB,处理器频率也越来越高。这一切都是保证64位软件可以流畅运行,但这也带来一些负面因素,比如功耗问题以及超大核处理大型软件带来的发热等等。

总之,2022年或许会成为安卓大规模普及64位应用的“元年”,硬件倒逼软件升级将是常态,不过归根到底,还是需要行之有效又不一刀切的举措,才能让安卓生态良性健康发展。

责任编辑:未丽燕 来源: PingWest
zanpc.bd208a1.pngzanpchover.fdd60ba.png
weixin.23cd8b3.png 分享到微信
weibo.16d6b4f.png 分享到微博

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK