Software Engineer on the Android Toolkit team.
Rahul Ravikumar
Making apps faster with Dex layout optimizations
Baseline Profiles make apps dramatically better by improving startup, and reducing jank siginificantly.
This talk continues our foray into the world of profile guided optimizations to introduce startup profiles for dex layout optimizations.
This talk attempts to make developers more comfortable with Perfetto to help them identify gaps in app performance.
We will look at improving Android app startup by optimizing how classes are loaded during startup. We will take advantage of specific runtime optimizations under the hood (a.k.a. ART App images).
We will do this by using information derived from AndroidX Benchmarks;
to inform how dex files should be organized in the eventual APK. We will take advantage of a new APK build pipeline in AGP 8.3 and R8 along with the new Baseline Profiles Gradle Plugin.
We will finally look at measuring the effectiveness of these improvements using Benchmarks and Perfetto traces.