我使用下面的代码启动一个activity
Intent intent = new Intent(XXX.this, YYY.class);
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(data);不知为什么,XXX的onResume()方法被调用了。因为我试图在onResume()中弹出一个progressDialog,我得到了下面的错误:
`android.view.WindowLeaked: Activity XXX has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@406ca468 that was originally added here.`在调试模式下,我在方法onResume()的第一行设置了一个breakpoint,它永远不会停止,但我仍然收到上面的错误。
这一切为什么要发生?
发布于 2012-06-16 01:07:59
因为onResume是活动生命周期的一部分,所以无论这是否是第一次创建您的活动,都会调用它。如果你想在用户返回时打开一个对话框,你可能应该把这个行为放在onRestart中,而不是onResume中。
编辑:如果看不到对话框创建代码,就很难说出是什么导致了这个错误。但是,请确保调用showDialog并从onCreateDialog返回创建的对话框,而不仅仅是在onResume中创建对话框本身。
https://stackoverflow.com/questions/11055044
复制相似问题