这代安卓机特别耗电?聊聊安卓应用64位的问题

相信很多朋友已经购买到了最新一代CPU平台的安卓机了 。这代安卓机的CPU发生了剧变,在保持了大中小核架构的同时,对大核和小核的微架构都进行了大改 。小核心的微架构进化,应该是大家期盼已久的了,祖传的Cortex-A55终于退休,按理来说全新的Cortex-A510应该会带来更好的能效 。但是有人发现,这代安卓机似乎更加耗电了,这是为何?今天就从新一代ARM处理器的架构聊起,简单谈谈安卓应用64位普及迟滞导致的耗电问题吧 。
新一代ARMv9处理器,为何反而更耗电?
新ARM处理器甚至更耗电?
当前上市的最新一代安卓机所使用的高通骁龙8gen1处理器,以及即将上市的联发科天玑9000处理器,都属于最新设计的基于ARMv9架构的产品 。它们都有一个共同的特点,就是文章开头所说的大核和小核微架构进行了大改,大核心使用了Cortex-X2微架构,而小核心则使用了Cortex-A510微架构 。
新处理器的小核是经过重新设计的Cortex-A510,理论上可以带来更高的能效
无论是Cortex-X2还是Cortex-A510,它们都有一个共同的特点,那就是不再支持32位,如果安卓机要运行32位的应用,那就必须在微架构只作了小幅调整的Cortex-A710中运行 。如此一来,在某些场景中,就有可能导致额外的能耗 。
在理想的情况下,安卓机在待机或者低负载时,应用程序主要运行在小核心上,小核心的能效比最出色,如此一来就能达到节电的效果;但如今,如果App是32位的,在新的ARM处理器中,就只能由中核运行,小核的能效优势只能干瞪眼,额外耗电的情况就出现了 。
 
在运行32位安卓App时,处理器实际上只能工作在Performance工况下,无法进入节电的Efficiency工况
换言之,在使用了新一代CPU的安卓机中,如果运行32位的App,是无法达到理想的能效比的 。这个问题,和芯片工艺无关,和系统无关,的的确确就是安卓生态和新处理器架构不匹配所导致的 。
只有64位的安卓App,才能运行在新ARM处理器的小核心上,才能让新ARM处理器发挥出应有的能效 。因此,何时普及64位的安卓App,就成为了新一代ARM处理器何时能更节电问题的答案 。
安卓App仍未普及64位?
当前的安卓生态中,32位的应用仍大量存在,这些应用不乏大家常见的装机必备,例如哔哩哔哩、百度网盘、爱奇艺等等 。这种情况是否正常?从技术的角度来看,似乎很不应该 。
像哔哩哔哩这样Target API已经更新到Android 11的应用,也依然只是32位的
从ARMv8开始,安卓阵营的CPU就已经普遍支持64位,安卓系统也在Android 5.0后,从系统层面支持64位应用 。这两件事,其实都属于比较远古的了——基于ARMv8的骁龙810以及Android 5.0都出现于2014年,转眼都快十年过去了,为何安卓App仍大量停留在32位?
我们可以对比一下苹果阵营 。2013年的iPhone 5S以及iOS 7开始推行64位,一年多后32位的iOS应用就已经难寻踪迹 。和苹果的步伐相比,安卓阵营可谓步履维艰 。
和安卓阵营相比,苹果iOS推行64位顺利得多
安卓推行64位为何如此艰难?这和安卓生态的实际情况是有很大关联 。尽管在ARMv8后,安卓阵营的CPU增加了64位的支持,但依然保留了32位的兼容 。甚至,前一代产品ARM v8.2处理器,也依然耗费额外的晶体管,来兼容32位App 。同时,安卓系统也一直兼容32位App,App并没有切换到64位的迫切需求 。这一切的考量,很大程度是基于对旧设备的兼容 。
在安卓初推行64位的时候,市场上依然有大量运行旧CPU以及旧版安卓系统的设备存在 。安卓在市场攻城略地的秘诀,在于开放和兼容,如果对32位一刀切,那么安卓阵营会无可避免迎来分裂 。实际上,开放的系统都存在这样的问题,例如Windows生态为了保持向后兼容,时至今日仍对32位应用软件提供出色的兼容,这和安卓是殊途同归的 。


以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!

「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助: