【问题标题】:mContext fragments and garbage collectionmContext 片段和垃圾回收
【发布时间】:2013-07-02 17:37:08
【问题描述】:

我在创建片段时遇到问题

Context mContext = getActivity();

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

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

【问题讨论】:

    标签: android


    【解决方案1】:

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

    Activity 不可见后,您不应依赖Context

    当您恢复 Activity 时,请始终获取新的 Context,并且在您不应该首先获取 NullPointer 时不要依赖 NullPointer 检查;-)

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-13
      • 2015-02-11
      • 1970-01-01
      • 1970-01-01
      • 2011-08-01
      • 2012-02-19
      • 2015-12-27
      • 1970-01-01
      相关资源
      最近更新 更多