Una nueva métrica para medir el desempeño
Desde hace mucho tiempo, Android ofrece a sus desarrolladores una biblioteca de compatibilidad, la "Biblioteca de soporte". Desde la versión 9 de Android, esta biblioteca está obsoleta y ha sido reemplazada por una nueva versión llamada "AndroidX". Para ser breve, esta capa de compatibilidad proporciona a los desarrolladores una manera relativamente fácil de manejar con gracia una nueva API en dispositivos Android más antiguos que pueden no admitirla.
La clase de rendimiento de Android es diferente a AndroidX. En lugar de proporcionar directamente una alternativa para esas bajas, su objetivo es brindarle a usted, como desarrollador, una perspectiva de lo que es capaz de hacer el hardware del dispositivo actual. Esto también da una pista de otra diferencia importante: las clases de rendimiento de Android están disponibles en tiempo de ejecución en lugar de tiempo de compilación, como AndroidX.
Para ser más específicos, al momento de escribir, Android ofrece tres clases de rendimiento: Medios, Cámara y Genérico. Estas clases estarán completamente disponibles a partir de Android 12, ya que se introdujeron con esta versión. Para Android 11, estará disponible un subconjunto de estas clases.
// Example taken directly from
// Android's explanation, just
// to give a quick overview.
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
...
}
Una nueva forma de agrupar dispositivos
Las clases de rendimiento le permiten agrupar a los consumidores de una manera nueva. En lugar de simplemente depender de la versión de Android, o peor aún, verificar que las identidades de los proveedores de dispositivos específicos coincidan con un conjunto personalizado de reglas, estas nuevas clases de rendimiento se pueden usar para agrupar a los consumidores directamente (y de manera confiable) por capacidades.
Lo que es exactamente compatible con cada versión se puede ver en el "Documento de definición de compatibilidad de Android". Una nueva herramienta llamada “Compatibility Test Suite”, también desarrollada por el equipo de Android, verifica las compatibilidades propuestas para un dispositivo. Pero no se preocupe, estas cosas solo conciernen a los fabricantes de hardware y sus ingenieros. Lo que es importante para usted como desarrollador de aplicaciones es utilizar la nueva API en el código de su aplicación.
Una estrategia compatible con el futuro
Por último, es importante tener en cuenta cómo se utilizará esta nueva clase de rendimiento en futuras versiones de Android. Por ejemplo, un dispositivo con Android 12 también es compatible con la versión 12 de la clase de rendimiento multimedia. Ahora, cuando se lance Android 13, este dispositivo aún puede actualizarse a Android 13, pero mantendrá su versión de la clase de rendimiento 12. Es posible que ya le haya resultado obvio. , pero sin embargo quería resaltar este comportamiento. Las versiones de clase de rendimiento no impiden que los fabricantes se actualicen a la última versión de Android.