實現同步的應用程序轉換

Synchronized App Transitions 是 Android 9 中的一項功能,可增強現有的應用程序轉換架構。當用戶打開、關閉或在應用程序之間切換時,SystemUI 或 Launcher(主屏幕)進程會發送請求以逐幀控制動畫,並保證視圖動畫和窗口動畫之間的同步。當 SystemUI 或 Launcher 繪製新幀作為動畫的一部分時,它會在動畫應用表面上請求不同的變換,以確定應用在屏幕上的組成方式,並將請求標記為表面事務,以與當前正在繪製的框架。

這允許在 Android 8.x 及更低版本上無法實現的新應用過渡動畫。例如,應用啟動動畫可以將主屏幕圖標無縫轉換為應用表面,通知啟動動畫可以將通知轉換為應用表面。

示例和來源

有關此功能,請參閱以下參考資料。

有關通知啟動動畫的參考實現,請參閱ActivityLaunchAnimator.kt

執行

您可以根據需要在 Launcher/System UI 上實現此功能,也可以在 SystemUI/Launcher3 中使用 AOSP 實現。

驗證

要驗證動畫的性能,請測量控制應用程序(即 SystemUI 或 Launcher)在動畫期間的性能,如測試 UI 性能中所述。