Skip to content

基准配置文件 (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 流水线中,建议将基准配置文件的生成自动化:

  1. 每次发布 Release 版前自动运行生成任务。
  2. 将生成的 baseline-prof.txt 提交到版本控制。

注意事项

  • R8 混淆: 生成配置文件时,R8 必须处于开启状态,以确保生成的符号与最终 APK 一致。
  • AGP 版本: 建议使用 AGP 8.0 或更高版本以获得最佳支持。

通过 Gradle 自动化管理基准配置文件,你可以为用户提供最极致的流畅体验。