Cómo implementar transiciones de app sincronizadas

Las transiciones de app sincronizadas son una función de Android 9 que mejora la arquitectura de transiciones de app existente. Cuando un usuario abre, cierra o cambia de app, el proceso de SystemUI o Launcher (pantalla principal) envía una solicitud para controlar la animación fotograma por fotograma con sincronización garantizada entre las animaciones de vistas y las animaciones de ventanas. Cuando SystemUI o Launcher dibujan un nuevo fotograma como parte de una animación, solicitan una transformación diferente en la superficie de la app en la que se está realizando la animación, lo que determina cómo se compone la app en la pantalla, y marcan la solicitud, una transacción de superficie, para que se sincronice con el fotograma que se está dibujando.

Esto permite nuevas animaciones de transiciones de apps que no son posibles en Android 8.x y versiones anteriores. Por ejemplo, la animación de inicio de la app puede transformar los íconos de la pantalla principal sin problemas en la superficie de la app, y la animación de inicio de la notificación puede transformar las notificaciones en la superficie de la app.

Ejemplos y fuente

Consulta las siguientes referencias para obtener más información sobre esta función.

Para obtener una implementación de referencia de la animación de lanzamiento de la notificación, consulta ActivityLaunchAnimator.kt.

Implementación

Puedes implementar esta función en la IU del sistema o el Launcher según sea necesario, o bien usar la implementación del AOSP en SystemUI/Launcher3.

Validación

Para validar el rendimiento de las animaciones, mide el rendimiento de la app de control, es decir, SystemUI o Launcher, durante las animaciones, como se describe en Cómo probar el rendimiento de la IU.