16KB 页面对齐检测详解
背景
传统 Android 设备使用 4KB 页面对齐的内存管理。随着硬件升级,16KB 页面能带来更好的内存利用率和性能表现。Android 15 开始逐步推动生态过渡。
LibChecker 中的检测
从 v2.5 开始,LibChecker 在原生库列表中加入了 16KB 对齐检测能力:
- 已经正确 16KB 对齐的 .so 文件会被单独标记
- 未压缩存储但未做 16KB 对齐的文件也会被标记出来
- 这个检测在 Android 8+ 上生效
- 图表页面也会展示 16KB 对齐应用的统计
开发者适配时需要注意
在适配过程中,需要确保:
- 所有 .so 文件都重新编译并使用 16KB 对齐选项
- 构建系统(CMake / ndk-build / Gradle)正确配置了页面大小参数
- 上游 SDK 的 .so 文件也需要重新对齐——这往往是瓶颈
实用场景
- 应用开发者:检查自己的 APK 中哪些原生库还没有适配 16KB
- 逆向分析者:从 16KB 对齐状态可以推测目标 App 的构建链是否较新
- ROM 开发者:检查系统预装应用的适配情况