我在EnterTransitionCoordinator使用共享元素转换时遇到内存泄漏问题。您可以在下面看到应用程序结构:
它有 2 个屏幕,第一个是一个ActivitywithDrawerLayout和几个Fragments 里面。其中一个包含照片列表,单击特定照片会触发共享元素Fragment从ViewPager位于另一个中的元素转换Activity。我SharedElementCallback在退出和重新输入这两个Activitys 时使用 custom 来映射正确View的共享元素转换。我的代码基于这篇很棒的博客文章:https ://android.jlelse.eu/dynamic-shared-element-transition-23428f62a2af
问题是,在ViewPager's 项目之间滑动后,Fragments 被销毁,但View用于共享元素转换的被保留在Activity'sActivityTransitionState中,特别是在EnterTransitionCoordinator. 重新进入到ActivitywithDrawerLayout然后打开另一个时也是如此Fragment。即使s 被销毁,View对用于共享元素转换的 s 的引用仍保留为 int s ,这会导致内存泄漏。ActivityFragment
我的问题:有没有避免这种内存泄漏的好方法?
