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 entre apps, el proceso de SystemUI o Launcher (pantalla principal) envía una solicitud para controlar la animación fotograma por fotograma con una sincronización garantizada entre las animaciones de vista y las animaciones de ventana. Cuando SystemUI o el selector dibujan un fotograma nuevo como parte de una animación, solicitan una transformación diferente en la superficie de la app animada que determina cómo se compone la app en la pantalla y marca la solicitud, una transacción de superficie, para que se sincronice con el fotograma que se está dibujando.

Esto permite animaciones de transiciones de app nuevas 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 plataforma de la app.

Ejemplos y fuente

Consulta las siguientes referencias para esta función.

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

Implementación

Puedes implementar esta función en la IU del Selector o del sistema según sea necesario o puedes usar la implementación de 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.