片段在活动停止后创建

时间:2016-04-15 10:54:15

标签: android android-fragments android-lifecycle

我的应用中的生命周期存在问题。有一些代码将片段提交给片段管理器:

        getSupportFragmentManager()
            .beginTransaction()
            .replace(R.id.fragment_container, mModuleFragment)
            .commit();

您可以在应用程序中执行某些操作以运行上述代码(即提交片段),如果使用主页按钮,则会导致崩溃。我已经查看了堆栈跟踪,这是我认为正在发生的事情:

1)片段替换被提交到片段管理器,片段管理器根据文档作为异步任务运行

2)运行onSaveInstanceState以保存活动的状态,然后运行android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1613) - 用

评论
  

确保现在已执行所有待处理操作       我们的州更新至今。

3)替换片段的待处理操作(因为它尚未处理)并且当活动已经处于停止状态时崩溃并且我没有考虑到这一点。

我可以通过检查null并从方法返回来防止我的崩溃,但是感觉就像在那一点创建片段是不必要的。有没有办法避免这种情况,比如告诉FragmentManager删除所有挂起的交易?

0 个答案:

没有答案