Performance class

Performance class is a standard first introduced in Android 12. A performance class defines a set of device capabilities that goes beyond Android's baseline requirements.

Each version of Android has its own corresponding performance class, which is defined in that version's Android Compatibility Definition Document (CDD). The Android Compatibility Test Suite (CTS) verifies the CDD requirements.

Each Android device declares the performance class that it supports. Developers can check the device's performance class at runtime and provide upgraded experiences that take full advantage of the device’s capabilities.

To check a device's media performance class level, query the Build.VERSION.MEDIA_PERFORMANCE_CLASS.

if (Build.VERSION.MEDIA_PERFORMANCE_CLASS >= Build.VERSION_CODES.S) {
   // Provide the most premium experience for highest performing devices
   ...
}
else if (Build.VERSION.MEDIA_PERFORMANCE_CLASS == Build.VERSION_CODES.R)
   // Provide a high quality experience
   ...
}
else {
   // Remove extras to keep experience functional
   ...
}

Performance classes are forward-compatible. A device can upgrade to a newer platform version without updating its performance class. For example, a device that initially supports performance class 12 can upgrade to Android 13 and continue to report it supports class 12 if it does not meet the class 13 requirements. This means that a performance class provides a way to group devices together without relying on a particular Android version.

Performance class 12

In Android 12, the performance class focuses on media use cases. The specific performance class requirements are published in the Android CDD. The CDD specifies requirements in the following areas:

Media

  • Concurrent codec sessions
  • Startup codec latency
  • Frame drops
  • Encoding quality

Camera

  • Resolution
  • Startup & capture latencies
  • Video stabilization support
  • HDR image capture

Generic

  • Memory
  • Read/write performance
  • Screen resolution
  • Screen density

Performance class 11

Performance class 11 includes a subset of the requirements for performance class 12, allowing developers to provide a tailored experience on older, but still highly capable devices. The specific performance class requirements are published in the Android CDD.