【发布时间】:2016-10-10 07:42:53
【问题描述】:
在我的应用程序中,我使用 backstack 作为我的片段,并使用 popBackStack 支持前一个片段。
当我通过 popBackStack 返回上一个片段时遇到问题。 (片段A->片段B->片段A)。我在fragmentB中看到popBackStack到前一个fragmentA时,它被称为onDestroy方法。我在getFragmentManager().getFragments() 中找到了 FragmentB,但我可以找到它。
但是,当我转储内存堆时,我在堆上找到 x FragmentB(我打开片段 B x 次)。它增加了我的内存堆,然后当我重复流 A->B->A 直到堆满时出现错误OutOFMemory。
我找不到任何解决方案或问题的原因。对我的问题有什么建议吗?
【问题讨论】:
-
您应该检查是否有任何对 FragmentB 的强引用在销毁时未释放。如果可能,请在此处分享您的代码 sn-ps,以便每个人都可以给您建议。
-
抱歉,我无法分享我的代码。我在这里创建了像我的流应用程序这样的示例项目:github.com/sinhpn92/FragmentStackTest。我的样品没有这个问题。但是在我的项目中,我遇到了上述问题。我不知道为什么?这个问题有什么原因吗?
-
你解决了吗?
标签: android android-fragments out-of-memory heap-memory