Illustration by Claudia Sanchez

MAD Skills Performance — Wrap Up

Ben Weiss
Android Developers
Published in
4 min readSep 7, 2022

--

In August the MAD Skills video and blog series helping you to get started with Performance. Here’s the gist of what happened.

Setting the scene

When Introducing the MAD Skills series on Performance, we shared the model which we’re using to work with performance.

Our guidance is aligned with the three pillars: Inspect, Improve, Monitor.

This alignment and restructuring of our documentation helps to improve developer experience and make working with performance more approachable, especially for developers that are not very familiar with the area.

Inspect -> Improve -> Monitor & repeat

You can find the updated guides and documentation on d.android.com/performance.

The full story

Important Performance Metrics

Here we cover important performance metrics around app startup and frame rate metrics, which bring in important data points for the remainder of the series.

The episode contains introductions to cold, warm and hot start, time to initial display and time to full display. It also covers why it’s important to keep work off the main thread and what frame rates to optimize for.

The full story

Inspecting Performance

introduces you to tools and methods that help with your code’s performance.

When you inspect performance you make sure that what’s happening in your app aligns with what you expect to happen.

We introduce different ways to inspect performance, from passive, through manual and finally automated.

A key takeaway from this episode is that you always should inspect performance with a release build and on a real device.

Always inspect release builds on a physical device

The full story

Improving Performance with Baseline Profiles

Baseline Profiles help your app to start and run faster by optimizing critical code paths ahead of time. This allows for a smoother user experience.

This episode contains all the info to get you going with Baseline Profiles in a nutshell. First you’ll learn what a Baseline Profile is, how it improves app and library performance. Then

shows you how to generate a baseline profile and how to measure the impact a new profile has on your app.

The full story

To get more detailed code, check out the samples on GitHub or take the Macrobenchmarking Codelab or Baseline Profiles Codelab for hands-on guidance through the topic.

Monitoring App Performance

This episode is guiding you through best practices and provides guidance on tools that can be used to monitor app performance.

Performance can be monitored in a development environment or lab or in the field. We’re sharing best practices and tools to monitor your app’s performance.

Monitoring helps you to verify that performance moves in the right direction.

The full story

The Q&A session

On September 1st, we hosted a live streamed Q&A session with Carmen Jackson, Chris Craik, Tomáš Mlynarič and Ben Weiss.

During the hour-long stream we went over many questions on performance. You can re-watch the stream any time. The article will be published over the next days as well.

The full story

The Article will be added here once the article is published.

What to do now

Read our updated developer guidance on performance: https://d.android.com/performance

Create a Baseline Profile for your app to improve startup and runtime performance.

If you haven’t done so yet, check out the samples on GitHub or take the Macrobenchmarking Codelab or Baseline Profiles Codelab.

To keep up to date on Android Performance, follow @AndroidDev, @keyboardsurfer and @mlykotom on Twitter.

And keep an eye out for new MAD Skills episodes.

--

--