ITmob-Ly
发布于 2024-08-27 / 346 阅读
0

Android 15 新功能和 API 详解:支持 16 KB 页面大小

随着设备制造商不断打造出 物理内存 (RAM),从 Android 15 开始,Android 系统支持将设备配置为使用 16 KB 页面大小。如果您在应用中使用原生代码,则应重新构建应用以支持 16 KB 设备,并且所有开发者都应使用 16 KB 环境测试其应用。

如果您的应用使用任何 NDK 库,直接使用 或者通过 SDK 间接使用,那么您需要重新构建自己的应用 支持这些 16KB 设备。如果不重新编译,在未来的 Android 版本中应用可能无法在 16KB 设备上运行 。

为帮助您为应用添加支持,这里介绍了有关如何检查您的应用是否受到影响,是否需要重新构建您的应用,以及如何使用模拟器(Android 15)的 16 KB 环境系统映像。

优势和性能提升

配置为 16 KB 页面的设备平均使用的内存会略多,但系统和应用性能也会有所提升:

  • 在系统面临内存压力时缩短应用启动时间:平均降低了 3.16%,对于我们测试过的一些应用而言,改进幅度更显著(提升幅度高达 30%)
  • 降低应用启动时的功耗:平均降低 4.56%
  • 相机启动速度更快:平均热启动速度加快 4.48%,冷启动速度平均加快 6.60%
  • 缩短了系统启动时间:平均缩短了 1.5%(约 0.8 秒)

这些改进基于我们的初始测试,实际设备上的结果可能会有所不同。在继续测试的过程中,我们会进一步分析应用的潜在益处。

检查您的应用是否受到影响

如果您的应用使用任何原生代码,则您应重新构建支持 16 KB 设备的应用。

  1. 您的应用是否使用了原生代码?

    如果符合以下任一条件,则您的应用会使用原生代码:

    • 您的应用使用了任何 C/C++ 原生代码。如果您的应用使用的是 Android NDK,那么应用使用了原生代码。
    • 您的应用会与任何第三方原生库或依赖项相关联。
    • 您的应用由第三方应用构建程序构建,该构建程序使用了原生代码。
  2. 如果不确定是否使用了原生代码,可以使用 APK 分析器来确定是应用中否存在任何原生代码。

    1. 打开 Android Studio

    2. 从菜单栏中,点击 Build > Analyze APK...

      Analyze APK in AndroidStudio

    3. 选择要分析的 APK 文件。

    4. 查看 lib 文件夹,此文件夹中保存了共享对象 (.so) 文件 。如果该文件夹中存在任何 (.so) 共享对象文件,您的应用则使用了原生代码。如果不存在 (.so) 共享对象文件或者没有 lib 文件夹, 那么您的应用就没有使用原生代码。

      Analyze APK in AndroidStudio

如果您的应用仅使用以 Java 编程语言或 Kotlin 编写的代码(包括所有库或 SDK),那么该应用已经支持 16 KB 设备。不过,我们建议您在 16 KB 的环境中测试应用,以确认应用行为是否存在意外回归问题。

官方文档:

行为变更:支持 16 KB 页面大小

支持 16 KB 的页面大小

其他

Android 15 功能和变更列表

翻译:2024 年 9 月 3 日 Android 15 已发布至 AOSP

Android 15 新功能和 API 详解:Private Space/私密空间功能简介

Android 15 新功能和 API 详解:录屏检测,addScreenRecordingCallback

Android 15 新功能和 API 详解:应用程序启动信息,ApplicationStartInfo

Android 15 新功能和 API 详解:更精确的 Intent 解析,UriRelativeFilterGroup 和 UriRelativeFilter