我使用下面的代码开始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()
,它永远不会停在那里,但我仍然得到上述错误。
为什么会这样?
答案 0 :(得分:0)
因为onResume是Activity生命周期的一部分,所以无论这是否是第一次创建Activity,都会调用它。如果要在用户返回时打开对话框,则应该将该行为放在onRestart中,而不是onResume。
编辑:在没有看到对话框创建代码的情况下,很难说出导致错误的原因。但是,请确保调用showDialog并从onCreateDialog返回创建的Dialog,而不仅仅是在onResume中创建Dialog。