主页(http://www.175shouji.com):这个月开始,你手机里这些APP都要凉凉!
相信大家在使用 Windows 电脑安装应用的时候,一定见过这两个文件夹。为什么它们一个没有数字一个有数字呢?
原因很简单,Program Files 文件夹是装用来 64 位软件的,Program Files ( x86 ) 则是装 32 位软件的。
通常情况下,我们可以通过软件安装页面默认加载的文件夹来判断这款应用到底是 32 位应用还是 64 位应用。
所以,32 位应用和 64 位应用有什么区别吗?也很简单。
32 位的应用无法使用大于 4G 的内存,且只能在 32 位系统中运行;64 位应用不仅可以使用大于 4GB 的运存,且 64 位系统也能支持 32 位应用。
当然,对于大部分用户来说,这都不是大家该考虑的事。大家只需要记住,64 位的应用运行效率大于 32 位的应用。
根据联发科给出的量化对比显示,基于天玑 9000 平台,同一款软件的 32 位和 64 位版本在冷启动速度方面的差异,最低达到了 13.2%,最高达到了 63.5%。
同时,根据 ARM 实验室的测试结果显示,Arm 实验室测试的结果显示,在智能手机上,64 位计算相比 32 位计算在压缩文件时可带来超过 90% 的性能提升,在解压缩时速度则能提高将近 80%。
(运行 64 位手机游戏时,64bit 下帧率比 32bit 高 16%)
在能耗方面,相较于 32 位的计算环境,主流移动处理器架构在 64 位的计算环境下,能获得 13.2% 至 35.2% 的能效提升。
这些数据无不说明了,64 位应用的好处。
那为什么能耗也会出现如此之大的差别呢?这里就要提到指令集了。
因为 32 位应用使用的是 ARM V7 指令集,64 位应用则是使用 ARM V8 指令集。
以最新发布的骁龙 8Gen1 处理器为例,它采用了最新的 ARM V9 指令集,也就是所谓的 Cortex-X2 超大核 +Cortex-A710 大核 +Cortex-A510 小核架构。
在这个架构中,Cortex-X2 超大核和 Cortex-A510 小核仅支持 V9 指令集兼容 V8 指令集。换言之,这俩货只能运行 64 位应用。
那么这时候,我们打开一个 32 位的应用会出现什么样的情况呢?
是的没错,这时候只要我们随便打开任意一个 32 位的应用,就会触发 Cortex-A710 大核,无论这个 APP 是处于前台运行还是后台运行,都会触发高功耗的 Cortex-A710 大核。
因为只有 Cortex-A710 大核还保留了支持 32 位应用。
按道理说,对于不是特别吃性能的应用,Cortex-A510 小核的性能足矣。但莫法,谁叫别人不支持 32 位架构呢?
于是乎,便出现了一种 " 杀鸡用牛刀的场景 "。
这里插一句题外话,Cortex-A710 支持 OL0 AArch32 是中国客户的要求,因为国内还有太多的 32 位应用。
说真的,黑马真是谢谢了,要是中国厂商向 ARM 定制的是让 Cortex-A510 小核支持 32 位应用,那我们的换机时间怕不是还要延长许久。
回归正题,尽管 ARM 在大力推广 V9 指令集、取消 32 位应用支持,但是,大家真正用上的 64 位应用数量可能屈指可数。
事实上,在移动设备领域,苹果早在 2014 年末就开始要求开发者上传到 App Store 中的应用必须要支持 64 位架构。时至今日,App Store 中的应用全都是 64 位架构。
到了 Android 这边,因为设备太多且缺乏强制管理措施,所以谷歌到了 2019 年才开始强制要求 Google Play 上的应用必须支持 64 位架构。
但是并没有多少开发者鸟谷歌这个规定,因为开发者完全可以通过一些非常规手段绕过这个规定。
到了国内,直到最近,OPPO、vivo、小米的应用商店才在移动智能终端生态联盟的推进之下,开始强制要求不允许单独上架 32 位应用包。
就,落后 iOS 和原生 Android 好大一截啊!
最后,黑马给大家分享一下查找更换 64 位应用的方法。
一定要记得,更新应用之后一定要关闭手机自带应用商店的自动更新。因为一些渠道不同的缘故,所以会出现我们在其他渠道更新了 64 位应用,但是被手机自带应用商店更新后,会出现重新安装 32 位应用的情况。
就目前来看,国内安卓应用市场的环境真的很糟糕。不是权限滥用就是功能落后友商。好在,在硬件厂商和手机厂商的推动之下,国内安卓应用市场有逐渐变好的趋势。
出色的硬件配置加上优秀的软件服务,或许在不久的将来,我们真的可以看到安卓超越 iOS 的那一天。黑马也相信,这一天不会太远。
撰文:小仙