【问题标题】:Is it possible for an Activity to get Garbage Collected and not a child Fragment?活动是否有可能收集垃圾而不是子片段?
【发布时间】:2012-06-17 11:11:58
【问题描述】:

这个调用发生在 Fragment 中,偶尔会因为 NullPointerException 而崩溃,尤其是当应用程序不在前台运行时:

getActivity().getApplication());

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

如果有什么不同,我会使用 SwipeyTab ViewPager 来显示不同的片段。

【问题讨论】:

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

标签: java android garbage-collection android-fragments android-ui


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-05
      • 2013-12-07
      • 2012-01-10
      相关资源
      最近更新 更多