软件包管理器配置(已废弃)

软件包管理系统中的 dexopt 实现仅适用于 Android 13 及更低版本。在 Android 14 中,它已被 ART 服务取代,并且将在下一个版本中从软件包管理系统中移除。如需了解如何配置 ART 服务,请参阅 ART 服务配置

从 Android 7.0 开始,系统提供了一种通用方式来指定各个阶段的编译/验证级别。编译级别通过系统属性来配置,默认值如下:

  • pm.dexopt.install=speed-profile
  • 这是通过 Google Play 或其他应用商店安装应用时使用的编译器过滤器。我们建议将安装过滤器设置为 speed-profile,以支持使用 dex 元数据文件中的配置文件(请参阅博文)。请注意,如果未提供配置文件或配置文件为空,speed-profile 的效果与 verify 相同。

  • pm.dexopt.bg-dexopt=speed-profile
  • 这是在设备空闲以及充电时使用的编译器过滤器。如要充分利用配置文件引导型编译并节省存储空间,可以尝试使用 speed-profile 编译器过滤器。

  • pm.dexopt.boot-after-ota=verify
  • 无线下载更新后使用的编译过滤器。对于此选项,我们强烈建议使用 verify 编译过滤器,以防启动时间过长。

  • pm.dexopt.first-boot=verify
  • 在设备初次启动时使用的编译过滤器。此时使用的过滤器只会影响出厂后的启动时间。我们建议使用 verify 过滤器,以免用户在首次使用手机时需要花很长时间等待手机启动。请注意,如果系统映像中的所有应用都已使用 verifyspeed-profilespeed 和正确的类加载器上下文进行了编译,首次启动时的编译将被忽略,pm.dexopt.first-boot 将不会产生任何影响。