dex2oat配置方法及优化指南
在 Android 系统中,dex2oat 的配置和开关调整涉及多个层面,包括编译模式选择、系统属性设置、ROM 预编译优化等。以下是具体的配置方法和注意事项:
1. 编译模式选择
通过 --compiler-filter 参数控制编译优化级别,直接影响 OAT 文件大小、安装时间和运行时性能:
-quicken:快速编译(最低优化),安装快但运行时性能一般,适用于低端设备或调试场景。
-speed:完全优化,牺牲安装时间换取最佳性能,适合中高端设备。
-speed-profile:基于运行时 Profile 优化,需结合 profman 生成的热点数据。
-assume-verified/verify:仅验证 DEX 文件,不生成机器码,适用于快速安装。
配置示例:
#单应用配置
adb shell cmd package compile -f -m speed com.example.app
#手动调用 dex2oat(需设备权限)
./system/bin/dex2oat --dex-file=/sdcard/classes.dex --oat-file=/sdcard/output.odex --compiler-filter=speed
2. 系统属性全局配置
通过修改系统属性(需 Root 权限)调整全局行为:
线程数:增加并行编译线程加速安装
adb shell setprop dalvik.vm.dex2oat-threads 4
编译过滤器:
adb shell