EnterTransitionCoordinator共有要素遷移の使用中にメモリ リークの問題が発生しました。以下に、アプリの構造を示します。
2 つの画面があり、最初はActivitywithDrawerLayoutといくつかFragmentの s です。それらの 1 つは写真のリストで構成され、特定の写真をクリックすると、別のFragmentからへの共有要素遷移がトリガーされます。これら 2 つの s を終了して再入力するときにカスタムを使用して、共有要素の遷移を正しくマッピングしています。この素晴らしいブログ投稿に基づいてコードを作成しました: https://android.jlelse.eu/dynamic-shared-element-transition-23428f62a2afViewPagerActivitySharedElementCallbackActivityView
ViewPager問題は、のアイテム間をスワイプした後Fragment、 が破棄されているのに、View共有要素の遷移に使用されている がActivityのActivityTransitionState、特に に保持されていることEnterTransitionCoordinatorです。Activitywithに再入力してからDrawerLayout別の を開く場合も同様Fragmentです。View共有要素の遷移に使用されるへの参照は、 が破棄されActivityても int のままFragmentであり、メモリ リークが発生します。
私の質問: このメモリ リークを回避する良い方法はありますか?
