Android全面拥抱64位,这事或许还得靠ARM(webview中全屏处理相关方法包括?)

2023-03-17 09:37:16

 

原标题:Android全面拥抱64位,这事或许还得靠ARM许多早年间自己动手安装过Windows系统的朋友,当时可能或多或少会被32位或64位的选择所困扰而这两个版本有什么不同呢?由于计算机设备是用二进制(0与1,实际就是高电位和低电位)来表示信息,因此32位与64位则分别指的就是处理器在单位时间内,能一次处理的二进制数的位数分别为32位和64位。

事实上不光PC端的操作系统在早年间有32位与64的区别,移动端同样也有不过相比于背负着兼容性历史包袱的Windows,新生的移动端操作系统在32位“升级”到64位这件事上,明显要上心的多,继苹果的iOS在2017年全面拥抱64位应用后,Android阵营也有望在2022年实现64位化。

作为iOS与Android设备CPU指令集架构的开发者,ARM在本周举办的DevSummit开发者峰会上宣布,从2022年开始,旗下芯片产品之中CPU的Cortex大核将取消对32位的支持换句话来说,就是未来凡是搭载了使用Cortex大核心的各类主控产品,基将会不再能运行得了32位应用。

这一消息也让谷歌一直以来想要在Android上实现全面64位化的规划,居然是依靠上游的芯片设计厂商来解决如果一切顺利,从2014年问世第一款支持64位的SoC(高通骁龙808)和支持64位的系统(Android 5.0)算起,花了8年时间才会实现从32位到64位的升级,而这比谷歌早前预想的时间点晚了3年。

按照谷歌在2019年初的通知开发者的信息显示,“从2019年8月1日开始,您在Google Play上发布的应用将需要支持64位架构64位CPU为您的用户提供更快,更丰富的体验添加应用程序的64位版本可改善性能,为将来的创新打下基础,并为使用仅64位硬件的设备做好准备”。

配合这一通知,谷歌方面也将最新版的Android集成开发工具Android Studio,设计成在运行APP时默认只打包为64位的so文件 然而很可惜的是,谷歌这则强制性意味浓厚的新规与配套措施,并没有引发明显的变化。

除了开发者通过修改Android Studio的配置文件使得其在打包so文件时可以使用32位来“绕路”外,甚至谷歌自己在去年10月推出的Chrome 78稳定版在Google Play中,依然默认提供了32位的版本供用户下载。

其实大家使用APPChecker以及其他类似功能的应用,就可以清楚的看到手机中应用所适配的系统版本,以及它们是32位还是64位其中不难发现,除了微信、淘宝、米家、B站、爱奇艺等少数个例之外,绝大多数常用的国内APP至今依然还是只有32位版本。

开发者对于64位无动于衷,是因为其本身的优势不够大吗?其实答案是否定的因为相比于32位,应用升级到64位的核心优势,在于CPU的性能将能够得到最大限度的发挥,而在32位模式中,CPU中真正工作的寄存器空间只有四分之一。

此外由于64位系统的内存寻址能力提升,任何一个应用都可以分配到超过4G的RAM,这无疑对于游戏等大型应用的性能表现有着更进一步的提升这也意味着64位系统+64位程序+足够的大内存,就能在一定程度上让手机的性能得到提升。

因此对于开发者来说,对谷歌这个带有强制性的通知不感冒的关键,其实是运营成本由于32位应用同样可以运行在64位系统上,代价则仅仅是硬件性能得不到充分发挥,但如果要将应用全面转型为64位,结果就是那些依然在使用32位系统的用户无法使用应用,所代表的是用户流失。

更何况如果要发布64位应用,就需要顺带推出32位的版本,实际上是两次的代码的开发和测试,并且对于维护负担也会有一定程度的增加 除此之外,开发者为了保护自己的代码,往往也会对64位应用敬而远之使用Java虚拟机作为应用层运行环境的Android,因为运行的应用程序字节码完全一致,所以本质上虽然没有32位与64位的区别,但问题是目前在Android应用的开发中,许多开发者并不是使用纯粹的Java层开发,更多的会用上Android NDK来让Java与C++结合,把一些重要的方和行为,与一些私密性的东西放在反编译难度更高的C++中,来提升安全性。

所以最终的结果就是,除了类似淘宝、微信、B站这种堆积了太多功能的大型应用,需要用64位来更好的发挥CPU性能,以便提升应用的流畅度之外,绝大多数开发者甚至是游戏开发者,都很难会做出拥抱64位这种吃力不讨好的选择。

而苹果能够轻易实现从32位到64位的原因则在于,在其iOS生态中几乎扮演了“上帝”的角色,开发者使用的开发工具都是来自于苹果,也有着对于开发者更强的管控能力可在Android生态之中,Google Play并不是唯一的分发渠道,因此也导致了谷歌对于开发者的规制能力并没有那么强。

这也就导致了这件事虽然谷歌一时间很难做到,但ARM却可以虽然ARM方面目前表示,未来只有Cortex大核心会取消对32位应用的支持,小核心还继续保持,但是考虑到目前主流的移动端芯片都采用的是big.LITTLE大小核切换技术,而这是一项可以将应用程序任务调度到正确CPU核心的技术,可以大幅节省CPU功耗,同时在线程负载方面提升性能。

这一技术所带来的结果,就是芯片的工作模式必须要统一,不能是大核心使用Arm v8架构中引入的AArch64状态,小核心使用传统AArch32的状态简而言之就是,ARM旗下的Cortex系列产品中,类似Cortex A77这样骁龙865采用的大核心如果不兼容AArch32,同一SoC内的CPU小核心同样将无法切换到AArch32模式。

所以用大核心运行64位程序,用小核心运行32位程序的情况也是很难发生的 并且由于ARM在整个移动端的产业链中,其实是处于非常上游的地位,其客户包括谷歌、苹果、高通、联发科、三星,以及华为等芯片制造商,而开发者由于往往与ARM之间还隔着谷歌、芯片厂商,以及手机厂商,因此也很难对ARM的决定产生影响。

所以在Android端由ARM来实现从32位到64位的升级,效果上显然将远胜于谷歌 因此ARM方面选择从硬件方面出发的这一决策,几乎可以说是迫使开发者必须在两年后将应用转向64位 【本文图片来自网络】三星Exynos旗舰芯片归来,或将搅动国内市场

即将亮相的三星Exynos 1080,或将带来新款旗舰机型的新竞赛。高通与华硕联手做游戏手机?可能性其实并不大 对于这则传闻,可信度或许并没有那么大。返回搜狐,查看更多责任编辑:


以上就是关于《Android全面拥抱64位,这事或许还得靠ARM(webview中全屏处理相关方法包括?)》的全部内容,本文网址:https://www.7ca.cn/baike/5160.shtml,如对您有帮助可以分享给好友,谢谢。
标签:
声明

排行榜