Android 16 适配(二):16KB 内存页,有 .so 的工程需要关注一下 📅 2026/6/21 1:03:12 2025 年 11 月 1 日起Google Play 要求所有以 Android 15 及以上为目标平台的应用必须支持 16KB 内存页。简单说如果APK 里有 .so 文件就得检查一下是否适配了。内存页是什么我搜了下意思是操作系统管理内存是按“页”来分的可以把它理解成内存的格子。每个格子大小固定操作系统以格子为单位分配内存。目前 Android 设备默认是 4KB 一页。ARM 处理器本身支持更大的 16KB 页。从 4KB 改成 16KB页表项数量会减少同样 1GB 空间从 25.6 万个变成 6.4 万个CPU 查内存地址的开销会降低性能会有提升。Google 官方给的数据是应用启动速度能快 3%30%续航平均好 4.5% 左右。代价也有内存占用会略微增加因为最小分配单位变大了。但整体来说利大于弊。在4KB 页的系统上.so 里的段按 4KB 对齐就行。16KB 页的系统上.so 里的段必须按16KB 对齐否则加载的时候会崩溃编译出来的 .so 二进制格式本身需要符合 16KB 页的要求。检测apk里的so包是否有问题方法1 用AndroidStudio打开apk 会有一列Alignment看是否有警告。方法2使用官方脚本检测。脚本到 https://developer.android.google.cn/guide/practices/page-sizes?hlzh-cn里面有。关于修复方式如果是三方组件比如高德地图sdk到官网找最新的支持16KB 的新版本。如果是自己写的so包则使用高版本NDK编译至少需要升级到 NDK r28 或更高版本。ok.