庫使用:程序兼容性-V7:22.2.1,設計:使用22.2.1活動返回過渡 - 共享元素 - 殺死活性
主題:
設備/的Android版本上再現:連結6
問題:返回活動快速重繪/出現,然後以期望的行爲淡入,只有"Don't keep activities alive"
。
我想知道這是一個錯誤還是預期的行爲。我有一個非常簡單的設置。活動A包含一個包裝在AppbarLayout
和CoorindinatorLayout
中的工具欄。工具欄包含一個Cardview
和一個TextView
。點擊TextView
後,活動A將啓動活動B.我使用共享元素並將其作爲選項通過ActivityCompat.StartActivity(bundle, options);
我的共享元素即使在設備旋轉後也可以很好地工作。在閱讀我如何可以PostPoneEnterTransition
和組合PreDrawListeners
即使旋轉後我也能夠成功實現所需的轉換。我的實際活動包含一個Viewpager
/TabLayout
和2+片段,但爲了簡單起見,我已將它剝離回視頻中,並查看是否有其他內容導致此問題。
在處理輸入轉換回到活動A的輪換和延期時,我決定打開開發人員選項並檢查"Don't keep activities alive"
。 video描述了在啓用該選項的情況下運行的應用程序。如果仔細觀察,您可以看到返回到活動A後,它會非常快速地完全繪製和隱藏,然後發生淡入淡出以及共享元素過渡。
我也排除了動畫中的導航欄和狀態欄,所以我沒有看到這些閃爍(重繪冗餘)。
我的問題是:
這是一個錯誤,還是我失去了爲了防止這種情況的一個步驟。
爲什麼應用程序/轉換與
"Don't keep activities alive"
相比,舊式設備輪轉(銷燬/重新創建)的行爲有所不同。我注意到玩了一些谷歌應用程序,這種行爲不會發生,或至少我可以找到。有沒有辦法具體檢查我回來的活動是否「完全被摧毀」,這樣我就可以取消動畫了?或做一些不同的事情?
如果需要的話,但我的設置非常簡單,反映從Android文檔/堆棧溢出一堆煩人的例子我可以包括細節和代碼示例。
你能分享一些代碼,顯示你如何處理旋轉? –