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 Menu z aplikacjami (ekran główny) wysyła żądanie sterowania klatkami animacji z gwarancją synchronizacji między animacjami widoków a animacjami okien. Gdy SystemUI lub Menu z aplikacjami rysuje nową klatkę w ramach animacji, żąda innej transformacji na animowanej powierzchni aplikacji, która określa, jak aplikacja jest komponowana na ekranie, i oznacza żądanie, czyli transakcję powierzchni, jako zsynchronizowane z aktualnie rysowaną klatką.
Umożliwia to tworzenie nowych animacji przejść między aplikacjami, które nie są możliwe w Androidzie 8.x i starszych wersjach. Na przykład animacja uruchamiania aplikacji może płynnie przekształcać ikony ekranu głównego w powierzchnię aplikacji, a animacja uruchamiania powiadomienia 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.makeRemoteAnimationRemoteAnimationAdapterRemoteAnimationRunnerActivity.registerRemoteAnimations
Implementację referencyjną animacji uruchamiania powiadomienia znajdziesz w pliku
ActivityLaunchAnimator.kt.
Implementacja
Tę funkcję możesz zaimplementować w Menu z aplikacjami lub interfejsie systemowym zgodnie z potrzebami albo użyć implementacji AOSP w SystemUI lub Launcher3.
Weryfikacja
Aby sprawdzić wydajność animacji, zmierz wydajność aplikacji sterującej, czyli SystemUI lub Menu z aplikacjami, podczas animacji zgodnie z opisem w artykule Testowanie wydajności interfejsu.