Implementar transiciones de aplicaciones sincronizadas

Transiciones de aplicaciones sincronizadas es una característica de Android 9 que mejora la arquitectura de transición de aplicaciones existente. Cuando un usuario abre, cierra o cambia entre aplicaciones, el proceso SystemUI o Launcher (pantalla de inicio) envía una solicitud para controlar la animación cuadro por cuadro con sincronización garantizada entre las animaciones de vista y las animaciones de ventana. Cuando SystemUI o Launcher dibuja un nuevo fotograma como parte de una animación, solicita una transformación diferente en la superficie de la aplicación animada que determina cómo se compone la aplicación en la pantalla y marca la solicitud, una transacción de superficie, para sincronizarse con el marco que está dibujando actualmente.

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

Ejemplos y fuente

Consulte las siguientes referencias para esta característica.

Para obtener una implementación de referencia para la animación de inicio de notificación, consulte ActivityLaunchAnimator.kt .

Implementación

Puede implementar esta función en Launcher/System UI según sea necesario o puede usar la implementación de AOSP en SystemUI/Launcher3.

Validación

Para validar el rendimiento de las animaciones, mida el rendimiento de la aplicación de control, es decir, SystemUI o Launcher, durante las animaciones como se describe en Probar el rendimiento de la interfaz de usuario .