7

该呼叫,这发生在一个片段,偶尔崩溃由于一个NullPointerException,特别是当应用未在前台运行:活动是否可以收集垃圾收集,而不是儿童片段?

getActivity()getApplication());

当从服务器反馈回来或者需要重新绘制片段时,会发生此调用。我不确定为什么这个调用会抛出一个NPE,片段是否仍然保留在内存中,而Activity被GCed?

如果它有所不同,我使用SwipeyTab ViewPager来显示不同的片段。

+1

什么是logcat输出? – Kerry

+0

嗨!好问题。为了使它更清晰一点,你用什么机制来获取服务器数据,以及当你谈论重新绘制片段时你指的是什么?也许添加一些相关的代码? :-) –

回答

1

问题是Fragment上有一个长时间运行的线程,它在Fragment从Activity中取消后返回结果。片段存在而不被附加到活动(在它已经被附加之后)似乎很奇怪。

2

Fragment如果没有附件Activity,则不能存在。如果活动被破坏,那么片段也是如此。另请注意,getActivity()将返回null,直到在片段上调用onAttach()