7

此调用发生在 Fragment 中,偶尔会由于 NullPointerException 而崩溃,尤其是当应用程序未在前台运行时:

getActivity().getApplication());

当反馈从服务器返回或需要重绘片段时,会发生此调用。我不确定为什么该调用会引发 NPE,在 Activity 被 GC 处理时片段能否保留在内存中?

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

4

2 回答 2

2

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

于 2012-07-02T20:32:02.097 回答
1

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

于 2012-07-05T12:42:26.230 回答