Synchronized App Transitions to funkcja w Androidzie 9, która ulepsza dotychczasową architekturę przejść między aplikacjami. Gdy użytkownik otwiera, zamyka lub przełącza aplikacje, proces SystemUI lub Launcher (ekran główny) wysyła żądanie sterowania animacją klatka po klatce z gwarancją synchronizacji animacji widoku i animacji okna. Gdy interfejs systemowy lub program uruchamiający rysuje nową ramkę w ramach animacji, wysyła żądanie innej transformacji na animowanej powierzchni aplikacji, która określa sposób komponowania aplikacji na ekranie, i oznacza żądanie (transakcję na powierzchni) jako zsynchronizowane z aktualnie rysowaną ramką.
Umożliwia to nowe animacje przejść między aplikacjami, które nie są możliwe na Androidzie 8.x i starszych wersjach. Na przykład animacja uruchamiania aplikacji może płynnie przekształcać ikony na ekranie głównym w powierzchnię aplikacji, a animacja uruchamiania powiadomień może przekształcać powiadomienia w powierzchnię aplikacji.
Przykłady i źródło
Więcej informacji o tej funkcji znajdziesz w tych materiałach.
ActivityOptions.makeRemoteAnimation
RemoteAnimationAdapter
RemoteAnimationRunner
Activity.registerRemoteAnimations
Wzorcową implementację animacji uruchamiania powiadomienia znajdziesz w ActivityLaunchAnimator.kt
.
Implementacja
Możesz wdrożyć tę funkcję w Launcherze lub interfejsie systemu zgodnie z potrzebami albo użyć implementacji AOSP w SystemUI/Launcher3.
Weryfikacja
Aby sprawdzić wydajność animacji, zmierz wydajność aplikacji sterującej, czyli interfejsu SystemUI lub Launchera, podczas animacji zgodnie z opisem w artykule Testowanie wydajności interfejsu.