Implémenter des transitions d'applications synchronisées

Synchronized App Transitions est une fonctionnalité d'Android 9 qui améliore l'architecture de transition d'application existante. Lorsqu'un utilisateur ouvre, ferme ou bascule entre des applications, le processus SystemUI ou Launcher (écran d'accueil) envoie une requête pour contrôler l'animation image par image avec une synchronisation garantie entre les animations de vue et les animations de fenêtre. Lorsque SystemUI ou le lanceur d'applications dessine un nouveau frame dans le cadre d'une animation, il demande une transformation différente sur la surface de l'application animée qui détermine la composition de l'application à l'écran, et marque la requête, une transaction de surface, pour qu'elle soit synchronisée avec le frame qu'il dessine actuellement.

Cela permet d'ajouter de nouvelles animations de transition d'application qui ne sont pas possibles sur Android 8.x ou version antérieure. Par exemple, l'animation de lancement de l'application peut transformer les icônes de l'écran d'accueil de manière fluide sur la surface de l'application, tandis que l'animation de lancement des notifications peut transformer les notifications en surface de l'application.

Exemples et source

Pour en savoir plus sur cette fonctionnalité, consultez les références suivantes.

Pour une implémentation de référence de l'animation de lancement de la notification, consultez ActivityLaunchAnimator.kt.

Implémentation

Vous pouvez implémenter cette fonctionnalité sur le lanceur/l'UI système si nécessaire, ou utiliser l'implémentation AOSP dans SystemUI/Launcher3.

Validation

Pour valider les performances des animations, mesurez les performances de l'application de contrôle, c'est-à-dire SystemUI ou Launcher, pendant les animations, comme décrit dans la section Tester les performances de l'UI.