Generate a baseline profile for release builds

Cold starts ran unoptimised: no profileinstaller dependency and no
profile in the bundle, so ART interpreted Compose on first launch
(class verification measured at 128 bytecodes/s in an emulator ANR).

Add the androidx.baselineprofile producer module with an AOSP managed
device, a generator covering startup plus the four detail tabs, and
commit the generated baseline and startup profiles.
This commit is contained in:
2026-08-12 13:58:01 +02:00
parent 4c0524618d
commit 8541130fa3
568 changed files with 181192 additions and 0 deletions

View File

@@ -7,6 +7,7 @@ plugins {
alias(libs.plugins.kotlin.compose)
alias(libs.plugins.kotlin.serialization)
alias(libs.plugins.ksp)
alias(libs.plugins.baselineprofile)
}
// Release signing credentials, loaded from android/keystore.properties (gitignored).
@@ -117,4 +118,10 @@ dependencies {
implementation(libs.coil.compose)
implementation(libs.play.review.ktx)
// Installs the bundled baseline profile on devices that do not get it from Play.
implementation(libs.androidx.profileinstaller)
// Consumes the profile produced by :baselineprofile.
baselineProfile(project(":baselineprofile"))
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff