Illustration by Claudia Sanchez

Introducing the MAD Skills series on Performance

Ben Weiss
Android Developers
Published in
4 min readAug 10, 2022

--

Performance spans every aspect of Android development, and as part of Modern Android Development we’re aiming to make it more approachable and user-friendly. We have also found direct correlations between improved app performance, user satisfaction and business metrics.

So, it’s time for another series of MAD Skills on Performance.

We are going to release episodes throughout August, ending with a live Q&A session on YouTube with Engineers working on Android Performance.

Read on and follow this series to learn about Modern Android Performance. Next to articles we’re also publishing videos, the first of which is available here.

MAD Skills Performance Trailer

Here’s what’s in the pipeline

In this series we’re going to introduce you to metrics that are important when working with performance. We’ll use these metrics and introduce you to tools, libraries and best practices that help you inspect, improve and monitor your app’s startup time and provide a smooth user experience.

We’ll share how to create and use Baseline Profiles.

This new technology has already helped several top partners improve their app startup time by an average of 30 percent. Using Baseline Profiles enables Ahead Of Time compilation of critical user journeys and provides improved runtime experience on top of startup speed improvements.

Baseline profiles are production ready and can help your code run faster as well.

Check out the Now in Android and Performance Samples to see how to set up a Baseline Profile. You can also follow the new Baseline Profiles Codelab to get a guided path to creating your own.

We will also cover new developments in Android Studio profilers, how the Jetpack Macrobenchmark library helps you to keep track of your app’s performance, and introduce you to more libraries and products that help you monitor your code’s performance during development and in production.

We’ll show you how to use Firebase Performance Monitoring and how Android Vitals helps you to stay on top of field metrics. And we’ll give you a sneak peek into gathering jank metrics with the new JankStats library.

Modern mental model for Performance

We made our guidance more approachable by introducing a new mental model for performance. All of our guidance is now aligned with three pillars:

  • Inspect
  • Improve
  • Monitor

These pillars provide you with a structured approach to performance in a closed feedback loop.

Inspect -> Improve -> Monitor & repeat

Inspecting Performance helps you understand what’s going on in your app.

With that you can see what’s happening in your app and how that aligns with what you expect to happen.

The Improving Performance pillar consists of tools, libraries, and guidance to help your code gain a performance boost.

When Monitoring Performance, you’re able to verify whether implemented improvements are actually making performance metrics move in the right direction.

It can also give you more data for the next inspection cycle.

There’s more

Performance metrics can include more than just improving App Startup, and creating a smooth, jank free experience.

Reducing battery drain, being smart about data usage and caching, decreasing application size, and creating an overall crash free experience are also important when working with performance.

And while we won’t cover all of these areas in this MAD Skills series, you can find detailed information in our developer guides, which we update regularly.

Partner Success Stories

We have seen time and time again, working with key partners, that improving your app’s performance has a direct impact on user retention, better ratings, and improved business metrics.

Zomato has seen an average of 30 % startup speed improvement and found improving app performance to be a key business growth recipe.
Read the story here.

Google Maps has used Baseline Profiles to improve their app startup and runtime by up to 40 %, which in turn improved searches by over 2 %.
Here’s the full story.

While you wait

Make sure to check out our full MADSKills series on performance debugging to get an edge on how you can inspect what’s going on in your code.

MAD Skills Performance Debugging Series

Also, our improved developer documentation has been updated recently, so go and check it out.

Check out the samples on GitHub or take the Macrobenchmarking Codelab or Baseline Profiles Codelab for hands on guidance through the topics.

Also, make sure to ask your questions in the video comments or on Twitter, using #MADPerfQA to get answers directly from the Engineers working on Android Performance.

--

--