虽说目的是提升性能,但感觉为了这个提升(Google 自己的数据都没 10%)修改的代价有点大啊:
1. 原生库需要重新编译,可能需要修改代码以支持动态页大小,代码段需要 16K 对齐
2. 16K 页表只能全局启用,不允许 4K 页应用与 16K 页应用混合运行,因为 Linux 不支持
3. 只有高版本 NDK 和 AGP 支持,老版 NDK 不一定能通过改链接选项实现兼容

考虑下收益,感觉完全看不到能推下去的可能性,哪怕有是 Play 市场来推,要求升级 NDK 可比升级 Target 难多了。
举报· 79 次点击
登录 注册 站外分享
9 条回复  
seers 小成 2024-9-16 01:54:13
应该是为了匹配越来越大的 ram ,不然怎么看都像是小马拉大车,只能说战未来了
kenvix 小成 2024-9-16 02:08:15
难评,x86 高性能计算这么多年来了还是 4K 页,不知道为什么嵌入式反而这么积极
billccn 小成 2024-9-16 02:45:16
@seers 应该和内存大小无关,服务器是手机几十倍内存还不都是 4k page 。因为 page table 是多层的,所以可容纳的页面数量一般超过 CPU 的硬件寻址限制。


Android 推这个应该是处于功耗的考虑,因为页面变成 4 倍大,那 page fault 可能就会变成原来的 1/4 概率。另外大多数 Android 设备的 swap 不是硬盘,而是 zRAM ,压缩解压也挺费电的,操作次数越少越好咯。我想 16K 的压缩比可能也比 4K 好一点
ziseyinzi 小成 2024-9-16 06:07:44
就是实验性支持一下吧,为 Android 25 做铺垫。
ysc3839 小成 2024-9-16 06:42:17
感觉是跟苹果的风
imluvian 小成 2024-9-16 08:41:35
这是给汽车用的。汽车上要开 inline ecc ,能差很多。
Venjer 小成 2024-9-16 12:47:48
面向未来,15 也不是强制打开的。开发者模式才能打开,估计至少得 5 年-8 年才能慢慢强制。可以参考 32 位- 64 位 app 的过度时间
Flyfish233 小成 2024-9-16 18:04:20
我有个应用虽然东西多,但是用的都是开源库,自己扒拉扒拉已经可以正常使用 16k page ,有个开发者问我怎么搞不了,我让他发 Libchecker ,一看用了一个华为闭源库。我认为国内会很难推广,而且这个不一定像 64 位这么好推了
返回顶部