Synchronizowane przejścia aplikacji to funkcja w systemie Android 9, która ulepsza istniejącą architekturę przenoszenia aplikacji. Gdy użytkownik otwiera, zamyka lub przełącza między aplikacjami, proces SystemUI lub Launcher (ekran główny) wysyła żądanie kontrolowania animacji klatka po klatce z gwarantowaną synchronizacją między animacjami widoku i animacjami okien. Kiedy SystemUI lub Launcher rysuje nową klatkę jako część animacji, żąda innej transformacji na animowanej powierzchni aplikacji, która określa sposób ułożenia aplikacji na ekranie i zaznacza żądanie (transakcję powierzchniową) do synchronizacji z ramka, którą aktualnie rysuje.
Pozwala to na nowe animacje przejścia aplikacji, które nie są możliwe w systemie Android 8.x i starszym. Na przykład animacja uruchamiania aplikacji może płynnie przekształcać ikony ekranu głównego na powierzchnię aplikacji, a animacja uruchamiania powiadomień może przekształcać powiadomienia na powierzchnię aplikacji.
Przykłady i źródło
Zobacz poniższe odniesienia do tej funkcji.
-
ActivityOptions.makeRemoteAnimation
-
RemoteAnimationAdapter
-
RemoteAnimationRunner
-
Activity.registerRemoteAnimations
Aby zapoznać się z implementacją referencyjną animacji uruchamiania powiadomień, zobacz ActivityLaunchAnimator.kt
.
Realizacja
Możesz zaimplementować tę funkcję w Launcherze/Systemowym interfejsie użytkownika zgodnie z wymaganiami lub możesz użyć implementacji AOSP w SystemUI/Launcher3.
Walidacja
Aby sprawdzić wydajność animacji, zmierz wydajność aplikacji sterującej, tj. SystemUI lub Launchera, podczas animacji, zgodnie z opisem w temacie Testowanie wydajności interfejsu użytkownika .