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 cuadro como parte de una animación, solicita una transformación diferente en la superficie de la aplicación de animación que determina cómo se compone la aplicación en la pantalla y marca la solicitud, una transacción de superficie, para sincronizarla con la marco que está dibujando actualmente.
Esto permite nuevas animaciones de transición de 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 notificación puede transformar las notificaciones en la superficie de la aplicación.
Ejemplos y fuente
Consulte las siguientes referencias para esta característica.
-
ActivityOptions.makeRemoteAnimation
-
RemoteAnimationAdapter
-
RemoteAnimationRunner
-
Activity.registerRemoteAnimations
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 el Lanzador/IU del sistema 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 IU .