基准配置文件 (Baseline Profiles)
基准配置文件(Baseline Profiles)是 Android 官方推出的一项优化技术,旨在显著提升应用的启动速度和运行流畅度(减少由于 JIT 导致的卡顿)。
工作原理
默认情况下,Android 应用在安装后是解释执行的。JIT 会在运行时识别热点代码并进行编译。 Baseline Profiles 允许你预先定义热点代码列表。安装应用时,系统会直接将这些代码 AOT(预编译)为机器码。
性能提升
开启后,冷启动速度通常可提升 20% - 30%。
核心配置流程
步骤 A: 引入生成模块
推荐使用 Android Studio 的向导:File > New > New Module > Baseline Profile Generator。
步骤 B: 编写生成代码
在生成的模块中,编写 Macrobenchmark 测试脚本:
kotlin
@RunWith(AndroidJUnit4::class)
class GenerateBaselineProfile {
@get:Rule val rule = BaselineProfileRule()
@Test
fun generate() = rule.collect(
packageName = "com.example.app",
includeInStartupProfile = true
) {
// 模拟用户启动流程
pressHome()
startActivityAndWait()
// 模拟核心业务操作
device.findObject(By.res("button_login")).click()
}
}步骤 C: 执行生成任务
bash
./gradlew :baselineprofile:generateBaselineProfile生成的文件会自动存放在 app/src/main/baseline-profiles 目录下。
持续集成优化
在 CI/CD 流水线中,建议将基准配置文件的生成自动化:
- 每次发布 Release 版前自动运行生成任务。
- 将生成的
baseline-prof.txt提交到版本控制。
注意事项
- R8 混淆: 生成配置文件时,R8 必须处于开启状态,以确保生成的符号与最终 APK 一致。
- AGP 版本: 建议使用 AGP 8.0 或更高版本以获得最佳支持。
通过 Gradle 自动化管理基准配置文件,你可以为用户提供最极致的流畅体验。