Overview of Startup Profiles
Stay organized with collections
Save and categorize content based on your preferences.
Startup Profiles are similar to Baseline Profiles, but they are used at compile
time to optimize DEX layout for faster startup times, rather than for on-device
optimization. To learn more about how startup profiles differ from Baseline
Profiles, see Compare Baseline Profiles and Startup Profiles.
For more on DEX layout optimization, see DEX layout optimizations and startup
profiles.
Startup Profiles impact your app's APK size, and the performance impact they
provide might be large or small depending on how your app is structured. We
recommend running an A/B test to assess the effect of Startup Profiles on your
app.
We recommend using both Baseline Profiles and Startup Profiles to fully optimize
app startup.
Figure 1. Code locality improvement from DEX layout
optimization.
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2026-01-13 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2026-01-13 UTC."],[],[]]