Clase de rendimiento

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

La clase de rendimiento es un estándar que se introdujo por primera vez en Android 12. Una clase de rendimiento define un conjunto de capacidades del dispositivo que va más allá de los requisitos del modelo de referencia de Android.

Cada versión de Android tiene su propia clase de rendimiento correspondiente, que se define en el documento de definición de compatibilidad de Android (CDD) de la versión. El conjunto de pruebas de compatibilidad (CTS) de Android verifica los requisitos del CDD.

Cada dispositivo Android declara la clase de rendimiento que admite. Los desarrolladores pueden descubrir la clase de rendimiento del dispositivo en el tiempo de ejecución y ofrecer experiencias mejoradas que aprovechen al máximo las capacidades del dispositivo.

Para descubrir el nivel de clase de rendimiento de un dispositivo, usa la biblioteca de Core Performance de Jetpack. Actualmente, esta biblioteca informa la clase de rendimiento del contenido multimedia del dispositivo. Para comenzar, crea una instancia de DevicePerformance en el evento de ciclo de vida onCreate() de tu Aplicación:

Kotlin

var devicePerformance = DevicePerformance.create(applicationContext)

Java

DevicePerformance devicePerformance = DevicePerformance.create(getApplicationContext());

Luego, puedes recuperar la propiedad mediaPerformanceClass para adaptar la experiencia de tu app en función de las capacidades del dispositivo:

Kotlin

when {
  devicePerformance.mediaPerformanceClass >= Build.VERSION_CODES.S -> {
    // Performance class level 12 and above
    // Provide the most premium experience for highest performing devices
  }
  devicePerformance.mediaPerformanceClass == Build.VERSION_CODES.R -> {
    // Performance class level 11
    // Provide a high quality experience
  }
  else -> {
    // Performance class level undefined
    // Remove extras to keep experience functional
  }
}

Java

if (devicePerformance.mediaPerformanceClass >= Build.VERSION_CODES.S) {
  // Performance class level 12 and above
  // Provide the most premium experience for highest performing devices
} else if (devicePerformance.mediaPerformanceClass == Build.VERSION_CODES.R) {
  // Performance class level 11
  // Provide a high quality experience
} else {
  // Performance class level undefined
  // Remove extras to keep experience functional
}

Las clases de rendimiento son compatibles con versiones futuras. Un dispositivo puede actualizarse a una versión más reciente de la plataforma sin cambiar su clase de rendimiento. Por ejemplo, un dispositivo que, en un principio, admite la clase 12 de rendimiento puede actualizarse a Android 13 y continuar informando que es compatible con la clase 12 si no cumple con los requisitos de la clase 13. Es decir, una clase de rendimiento brinda una manera de agrupar dispositivos sin depender de una versión particular de Android.

Clase 12 de rendimiento

En Android 12, la clase de rendimiento se enfoca en casos de uso de contenido multimedia. Los requisitos específicos de la clase de rendimiento se publican en el CDD de Android. El CDD especifica los requisitos en las siguientes áreas:

Contenido multimedia

  • Sesiones simultáneas de códecs
  • Latencia de inicio de códecs
  • Pérdida de fotogramas
  • Calidad de codificación

Cámara

  • Resolución
  • Latencias de inicio y captura
  • Compatibilidad con estabilización de video
  • Captura de imágenes HDR

Genérico

  • Memoria
  • Rendimiento de escritura y lectura
  • Resolución de pantalla
  • Densidad de pantalla

Clase 11 de rendimiento

La clase 11 de rendimiento incluye un subconjunto de requisitos de la clase 12, lo que permite a los desarrolladores proporcionar una experiencia personalizada en dispositivos más antiguos pero que mantienen una capacidad alta. Los requisitos específicos de la clase de rendimiento se publican en el CDD de Android.