相信大家在使用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位应用的方法。 首先我们下载一个应用架构查看软件【LibChecker】,安装之后我们就可以查看应用的架构是32位还是64位了。 如果你发现你的常用应用不是64位应用的话,那么我们可以下载酷安或OPPO应用商店(也可以下载花瓣软件商店)来更新软件,条件允许的小伙伴最好还是通过Google Play更新应用。 一定要记得,更新应用之后一定要关闭手机自带应用商店的自动更新。因为一些渠道不同的缘故,所以会出现我们在其他渠道更新了64位应用,但是被手机自带应用商店更新后,会出现重新安装32位应用的情况。 就目前来看,国内安卓应用市场的环境真的很糟糕。不是权限滥用就是功能落后友商。好在,在硬件厂商和手机厂商的推动之下,国内安卓应用市场有逐渐变好的趋势。 出色的硬件配置加上优秀的软件服务,或许在不久的将来,我们真的可以看到安卓超越iOS的那一天。黑马也相信,这一天不会太远。 |
4月7日,京东3C数码“益企焕新季”正式开启。活动期间,京
4月1日,记者从四川省商务厅获悉,截至3月30日,四川省家