- 48小时新闻排行
- 7天新闻排行
事情的起因还得从两款新机开始说起。 前阵子托尼在测评 realme GT2 Pro 和小米 12 Pro 这两款搭载骁龙 8 Gen 1处理器的新机的时候,注意到它们都开始 " 排斥 " 起了 32 位的应用。 首先是 realme GT2 Pro,每次我从第三方渠道安装应用,只要系统检测到它是 32 位,就会在界面弹出 " 此安装包为32 位,不建议安装 " 的风险提示: 想要继续安装这些应用当然可以,但是它们在运行过程中如果出现卡顿或者闪退等问题就别怪手机有 Bug 了,是你安装的应用是 32位的缘故 ~ 然后是小米 12 Pro,打开手机自带应用商店,你会发现小米在商店首页专门设置了一个醒目的 " 64 位应用专区",方便我们直接在里边下载 64 位应用: 一旦遇到你要下载的应用是 32 位,它就会在顶部弹出 " 该应用未适配本机 64 位处理器 " 的提示: 同时在应用升级界面,我们还能通过蓝色标签清楚区分这些正在升级的应用是 32 位还是 64 位版本: 然而如果换做是骁龙 8 Gen 1 之前的机型,比如搭载骁龙 888 的小米11,就根本没有对应用的版本做出如此严格的区分,更别提在下载或者安装应用的时候会跳出风险提示了: 之所以这两家手机厂商在新机上要这么做,其实也是迫于无奈。 这是因为在骁龙 8 Gen 1 处理器所拥有的 8 个 CPU 核心中,只有 3 个 2.5GHz的A710 大核兼容 32 位应用,其余 1 个 3.0GHz 的 X2 超大核和 4 个1.8GHz 的 A510 中核则均不兼容 32 位应用。 这就导致那些搭载骁龙 8 Gen 1 的手机在运行 32 位应用时,只能用到 8 核中的其中 3个大核,其它 5 核则是处于围观吃瓜状态,根本不参与运算工作。 根据小米和 realme 的说法,如果这个 32位应用是一个多线程程序,它的性能就会受到可使用核心数的限制,同时也会导致功耗的增加,严重一点甚至还会造成应用的闪退、闪屏、音频异常或者卡顿。 很不幸,托尼简单看了下,发现在我之前下载到手机里的两百多个应用里,有 17.4% 的应用还是 32位版本,其中不乏中国银行、美团、浙里办、滴滴出行、李跳跳等一些我平时经常会用到的应用: 这意味着要是我现在就把手机换成搭载骁龙 8 Gen 1 的新机,就要注意这些应用在新机上的兼容问题。 差友们看到这里先别急着骂高通吃饱了撑的没事找事,把 32位强制限制在大核上运行的决定不是高通做的,而是比它更上游的处理器设计公司 ARM。 是 ARM 在它去年推出的 Armv9 新架构里,取消了超大核和中核对于 32 位应用的兼容,而骁龙 8 Gen1 CPU 部分使用的架构恰恰就是 Armv9。
除了骁龙 8 Gen 1,天玑 9000 和 Exynos 2200 处理器的 CPU 采用的也是 Armv9架构,32 位应用到了这两款处理器上同样只能用大核运行。 更坏的消息是什么呢?到 2023 年,不管是大核、中核还是小核,ARM 所有的内核都将只支持 64 位,到那时32 位应用会变得直接不能用。。。 也正是基于这个原因,厂商们不着急才怪,托尼注意到现在包括华为、vivo 在内的很多厂商都已经开始催开发者赶紧把自家的 32位应用升级成 64 位: 如果最近有差友正在考虑换机,那就可以先在旧手机上下载一个名为 " LibChecker " 的软件来看下自己平时常用的软件是32 位版本还是 64 版本。 要是 32 位版本的软件占比比较多,那就得衡量下是否值得在这个过渡时期换机。 不过话说回来,ARM 做出的这个决定虽然短期内确实会对 32位应用在新手机上的使用造成影响,但是从长期来看,这绝对是一件好事。 要知道高通在 2013 年发布的骁龙 410,就已经是一款 64 位的处理器;并且谷歌在 2014 年发布的 Android5.0,也已经是一款 64 位的安卓系统。 这代表安卓手机从很早开始,无论是在硬件层面还是系统层面都已经是 64 位,运行起 64位应用完全没问题。 和电脑上的情况一样,一款应用要在手机上运行,首先需要把数据从硬盘加载到内存方便 CPU 访问。 而 32 位和 64 位应用中的 " 位 ",指的就是它在这个过程中可供 CPU 寻址的内存空间的大小。 相较于 32 位应用最大只能调用 4G 内存( 2^32 Bytes=4G ),64位应用最大的优势就是能调用更大的内存,从而使应用的加载、响应速度变更快。 所以我们可以看到那些比较吃性能的应用比如各种大型手游,早就已经是 64 位版本: 就算有些应用不需要用到那么高的性能,为了更好的用户体验和后续功能的开发,某些大公司也会未雨绸缪把自家应用尽早的升级到 64位。 小米产品经理说 把应用更新到 64 位续航明显提升 ▼ 也正因为 64 位是大势所趋,所以早在 2013 年,苹果就先安卓一步在 iPhone 5s 上使用上了 64 位的 A7处理器,那时候高通第一款 64 位处理器骁龙 410 要到年底才发布。 而且它在 2015 年就宣布所有的 iOS 应用都必须支持 64 位,否则就不允许上架到 App Store: 到了 2017 年,苹果发布的 iOS 11 就彻底取消了对 32 位应用的支持,它这么做的目的就是要逼开发者只开发 64位应用。 这时苹果封闭生态圈的优势就体现出来了。 要么就听我的话乖乖开发 64 位应用,要么就从 iOS 上滚蛋,在苹果的强势执行下,现在我们在 iPhone上用到的所有应用,其实全部已经是 64 位版本。 而安卓阵营之所以还有这么多 32 位应用的存在,要怪就怪谷歌还有各大安卓应用市场太迁就,就是不愿意像苹果那样狠下心来全面禁止32 位应用。 谷歌曾经在 2019 年 8 月就要求上架到 Play Store 的应用,除了提供 32 位版本外,还必须提供 64位版本,然而它却留了 " 漏洞 ",让开发者可以把 32 位应用轻松变成同时兼容 32 位与 64 位的版本: 到了 2021 年 8 月,谷歌虽然不再允许 64 位设备下载 32 位应用,但它还是没有在自家 Android系统里下定决心把 32 位应用给直接禁掉,尽管全球只剩 2% 左右的移动设备是 32 位的。。。 其它应用商店就更不用说,一直都是跟着谷歌屁股跑,小米应用商店、OPPO 软件商店、vivo应用商店等几大商店直到去年才开始大力推 64 位应用: 连谷歌和各大应用商店都这么不积极,那些制作小应用的个人开发者就更不用说,根本没动力把 32 位应用升级到 64位给自己额外增加工作量好吧。 毕竟 32 位应用又不是不能用,更何况我开发这些小应用很多时候还是靠爱发电的呢。。。 俗话说得好有时为了大局着想往往需要有人站出来当大恶人,在这次安卓全面拥抱 64位生态的进程中,扮演恶人角色的或许就是 ARM 吧。 事实上,自 ARM 发布首款支持 64 位的 Armv8 架构以来,已有近十年的时间,期间高通、华为、联发科基于 Armv8推出的移动端处理器数不胜数。 华为甚至买下了 Armv8 架构的永久授权 ▼ 估计 ARM 自己也很郁闷,都过去这么久了,安卓竟然还没彻底淘汰 32 位应用。。。 好在就目前厂商们的动作来看,ARM 在新架构中把 32位应用限制在大核运行的效果可以说是非常明显,接下来就看那些开发者们的努力了 ~ 文章最后,作为一名多年的安卓老用户,托尼还是希望那些原本只存在于安卓上的好用软件可一定要适配 64位啊,不然就少了个继续用安卓的理由。 感谢大家的观看! |
中国 昨天 22:04
美国 昨天 21:56
国际 昨天 21:48
国际 昨天 21:30
体育 昨天 21:22
国际 昨天 21:05
关注获得及时、准确、全方位的新闻消息