Android活动恢复

时间:2012-06-15 16:52:38

标签: android android-activity

我使用下面的代码开始activity

Intent intent = new Intent(XXX.this, YYY.class);
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(data);

不知何故,我不知道为什么,调用了XXX的onResume()方法。 并且因为我尝试在progressDialog内弹出onResume(),我收到以下错误:

`android.view.WindowLeaked: Activity XXX has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@406ca468 that was originally added here.`

在调试模式下,我在方法breakpoint的第一行设置onResume(),它永远不会停在那里,但我仍然得到上述错误。

为什么会这样?

1 个答案:

答案 0 :(得分:0)

因为onResume是Activity生命周期的一部分,所以无论这是否是第一次创建Activity,都会调用它。如果要在用户返回时打开对话框,则应该将该行为放在onRestart中,而不是onResume。

编辑:在没有看到对话框创建代码的情况下,很难说出导致错误的原因。但是,请确保调用showDialog并从onCreateDialog返回创建的Dialog,而不仅仅是在onResume中创建Dialog。