Monzo boosts performance metri... Note

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

Ben Weiss, a Senior Developer Relations Engineer, shared Monzo's success story with app performance improvements. Monzo, a UK digital bank, identified app startup time as a critical issue needing attention. They discovered that enabling full R8 optimizations drastically reduced their Application Not Responding rate by 35%. This significant improvement was achieved with a single, simple change.Monzo's primary modification involved switching from the default proguard-android.txt file to proguard-android-optimize.txt. This change removed the -dontoptimize instruction, allowing R8 to perform its intended optimizations. Consequently, Monzo observed an increase in startup reliability, with cold, warm, and hot starts all improving. Launch speed also saw marked improvements, with P50 and P90 times decreasing. Furthermore, the app size was reduced by 9%.After enabling R8 optimizations, Monzo reviewed and refined their Keep configuration files. They removed unnecessary rules, enabling R8 to optimize more of the codebase. To further enhance user experience, Monzo implemented Baseline Profiles. This focused on optimizing scroll and rendering performance for their main feed, a common user journey. The impact was substantial, with P90 and P95 scroll performance becoming significantly faster.Monzo integrated Baseline Profile generation into their release process, ensuring continuous improvement. Weiss recommends that other teams stay updated with modern Android development recommendations. He advises regularly reviewing current practices against Google's latest advice on app performance. Proper documentation of Keep Rules proved essential for Monzo, allowing them to identify and safely remove obsolete rules.