软件包管理器中的 dexopt 实现仅适用于 Android 13 及更低版本。在 Android 14 中,它已替换为 ART 服务,并且将在下一版本中从软件包管理器中移除。如需详细了解如何配置 ART 服务,请参阅ART 服务配置。
自 Android 7.0 起,有一种通用方法可以指定在各个阶段发生的编译/验证级别。编译级别可以通过系统属性进行配置,默认值为:
pm.dexopt.install=speed-profile
pm.dexopt.bg-dexopt=speed-profile
pm.dexopt.boot-after-ota=verify
pm.dexopt.first-boot=verify
-
这是设备首次启动时使用的编译过滤器。此处使用的过滤器仅影响出厂后的启动时间。我们建议使用
verify
过滤器,以避免用户首次使用手机前等待时间过长。请注意,如果系统映像中的所有应用都已使用verify
、speed-profile
或speed
以及正确的类加载器上下文进行编译,则首次启动时的编译将被跳过,并且pm.dexopt.first-boot
将不起作用。
这是通过 Google Play 或其他应用商店安装应用时使用的编译过滤器。我们建议将安装过滤器设置为 speed-profile
,以便能够使用来自 dex 元数据文件的配置文件(请参阅博客)。请注意,如果未提供配置文件或配置文件为空,则 speed-profile
等同于 verify
。
这是设备处于空闲和充电状态时使用的编译过滤器。尝试使用 speed-profile
编译器过滤器,以利用配置文件引导的编译并节省存储空间。
这是在 OTA 更新后使用的编译过滤器。我们强烈建议为此选项使用 verify
编译器过滤器,以避免启动时间过长。