片段onStart调用但不是onResume导致空白屏幕

时间:2015-07-22 20:34:31

标签: android android-fragments android-lifecycle

我有一个非常间歇性的问题我无法解决,而且我不确定如何进一步解决问题。

我有一个片段,在事务完成时通过replace加载。大多数时候,一切都很好。但是间歇性地,片段没有完成加载,它只显示一个空白屏幕。我说它发生的时间不到1%,但这是一个非常糟糕的地方。

我已经在生命周期事件之前/之后放置了标签,并且它进入onStart()但它从不调用onResume [我在super.onResume()之前/之后放置标签]发生了,都没有记录。当它工作时,它正确记录onResume调用。

@Override
public void onStart() {
    Log.i(CLASS_NAME, "Entering on onStart");
    super.onStart();
    Log.i(CLASS_NAME, "Exiting on onStart");
}

@Override
public void onResume() {
    Log.i(CLASS_NAME, "Entering on onResume");
    super.onResume();
    Log.i(CLASS_NAME, "Exiting on onResume");
}

当这恰好表明出现任何问题时,日志中没有任何内容,但是,如果我试图离开屏幕,它会抛出一个例外,它无法保存它。'国家。

" java.lang.IllegalStateException:失败保存状态:活动TransactionCompleteFragment {2b12a67c}已清除索引:-1"

据我所知,它试图保存状态,但片段没有正确,所以它会爆炸。但这是片段首先没有加载的结果。

什么可能导致onResume不被调用?此外,它没有抛出一个没有被称为异常的super.onResume,所以它没有被调用而只是显示一个空白屏幕显然可以吗?

我能做的最好的事情就是在日志发生后检查日志,并希望一些额外的日志记录能够提供一些见解,但我对于记录什么或在哪里查看提出了想法?

0 个答案:

没有答案