【发布时间】:2011-07-26 19:27:24
【问题描述】:
我正在编写一个使用片段的应用程序,并且在我的 DDMS 堆转储中看到一个非常令人困惑的行为:当我最初运行我的应用程序时,假设堆栈中有几个片段:
HomeFragment: 1
WelcomeFragment: 1
SignInFragment: 1
CreateAcctFragment: 1
其中每一个的直接支配者是。
然后我旋转屏幕。我现在得到:
HomeFragment: 2
WelcomeFragment: 2
SignInFragment: 2
CreateAcctFragment: 2
现在每个实例的直接支配者是一个,android.support.v4.app.FragmentManagerImpl 是另一个。
我最初认为我有内存泄漏,我的一个片段没有被垃圾收集,就像以前发生在我身上的那样。但是,在这种情况下,每次我旋转屏幕时,我都会为每个屏幕添加一个实例。现在,无论我旋转屏幕多少次,我都“只”看到了 2 个实例。
有什么想法/建议吗?
【问题讨论】: