mediumAndroid Developers Blog·March 30, 2026

Monzo boosts performance metrics by up to 35% with a simple R8 update

Posted by Ben Weiss, Senior Developer Relations Engineer

Monzo is a UK digital bank with 15 million customers and growing. As the app scaled, the engineering team identified app startup time as a critical area for improvement but worried it would require significant changes to their codebase.

By fully enabling R8 optimizations, Monzo achieved a massive 35% reduction in their Application Not Responding (ANR) rate. This simple change proved that impactful optimizations don't always require complex engineering efforts.

Unlocking broad performance wins with R8 full mode

Monzo identified R8 full mode as an easy fix worth trying; and it worked, improving performance across the board:

    • Startup Reliability: Cold starts improved by 30%, Warm starts by 24%, and Hot starts by 14%.
    • Launch Speed: P50 launch times improved by 11% and P90 launch times by 12%.
    • Efficiency: Overall app size was reduced by 9%.
    • Stability: ANR reduction of 35%.

Enabling optimizations with a single change

Many Android apps use an outdated default configuration file which disables most functionality of the R8 optimizer. The main change Monzo made to unlock these performance improvements was to replace the proguard-android.txt default file with proguard-android-optimize.txt. This change removes the -dontoptimize instruction and allows R8 to properly do its job.

buildTypes {
  release {
    isMinifyEnabled = true
    isShrinkResources = true
    proguardFiles(
      getDefaultProguardFile("proguard-android-optimize.txt"),
    )
  }
}

After making this change, it's worth looking at your Keep configuration files. These files tell R8 which parts of your code to leave alone (usually because they're called dynamically or by external libraries). Tidying up unnecessary Keep rules means R8 can do more.

Improving scroll performance with Baseline Profiles

To further enhance the user experience, Monzo implemented

Key Insights

1

R8 full mode can reduce ANR rates by up to 35% with minimal implementation effort

2

App startup times can be improved by 14-30% across cold, warm, and hot starts using R8 optimizations

3

R8 full mode simultaneously reduces app size by 9% while improving performance metrics

4

Launch time improvements of 11-12% at P50 and P90 percentiles are achievable with build optimization tools

Monzo boosts performance metrics by up to 35% with a simple | ASO News