谷歌给安卓系统搞了个大动作,打算把内存分配的单位从4kb 直接提升到16kb

谷歌这几天给安卓系统搞了个大动作,打算把内存分配的单位从4KB直接提升到16KB。这事儿虽说主要靠硬件升级来撑腰,但对开发者来说可是个不小的挑战。AI初步计算了一下,这么一改能把应用的启动时间最多缩短30%,系统启动时间也能缩短8%。这就好比给CPU减轻了担子,让它不用再管那么多细小的页面了。 根据IT之家的消息,科技媒体Android Authority在最新的安卓17 QPR1 Beta版里找到了开关。只要在开发者选项里启用了“使用16KB页面大小启动”,默认的内存分配单位就能变成16KB。计算机里的页面就好比书籍分章节,安卓以前习惯用4KB的页数来划分内存,虽然这样用得更紧凑,但CPU得维护数百万个页面表,运算起来压力山大。换到16KB以后,CPU需要追踪的数量自然变少了,访问数据的延迟也就跟着降下来。 为啥安卓以前一直坚持用4KB?这其实是受早期CPU架构限制的结果。过去的手机大多是基于32位的ARMv7设计,硬件里的MMU只能处理这种设置,这能平衡地址映射和电池续航。直到2011年ARMv8引入了64位支持,硬件才具备了灵活调整更大页面的能力。这次页面大小的升级也不是毫无代价的。虽然能用了更大的单元减少计算开销,但内部内存的碎片问题会更严重一点,还会浪费掉一点RAM空间。 对于那些用C语言或者NDK开发的老应用来说更是个麻烦事。它们本来是按4KB的页面对齐写的,现在必须得重新编译适配16KB对齐才行。为了让大家跟上节奏,谷歌早有规定:从2025年11月开始,所有往Google Play提交的针对Android 15+的应用和更新,都必须在64位设备上支持16KB页面大小。