1

我在创建片段时遇到问题

Context mContext = getActivity();

在我的嵌套片段构造函数中,但在很长一段时间没有使用我的应用程序 mContext 后,它似乎被垃圾收集了,当我恢复活动时,该值现在为空。

我正在考虑对我的片​​段的 onResume 进行 mContext null 检查。这是处理此错误的最佳方法。这个问题出现在多个地方。

4

1 回答 1

0

如果您Activity不可见,则将Activity进入onStop其生命周期的方法,然后Activity操作系统可以随时收集垃圾。

你不应该依赖在ContextActivity可见之后。

Context当你恢复时总是得到一个新鲜的,当你一开始不应该得到一个时Activity不要依赖检查;-)NullPointerNullPointer

请参阅http://developer.android.com/training/basics/activity-lifecycle/pausing.htmlhttp://developer.android.com/training/basics/activity-lifecycle/stopping.html以供参考。

编辑:引用最后一个链接:

当您的活动收到对 onStop() 方法的调用时,它不再可见,并且应该释放用户不使用它时不需要的几乎所有资源。一旦您的活动停止,如果需要恢复系统内存,系统可能会破坏实例。

于 2013-07-02T20:53:26.077 回答