在onCreate方法中创建一个对话框 - 泄漏

时间:2013-06-18 22:04:41

标签: android dialog splash-screen oncreate resource-leak

当我运行我的应用程序时,我似乎间歇性地收到以下错误。

“活动泄漏了最初添加的窗口com.android.internal.policy.impl.PhoneWindow$DecorView@40521348”

我正在做的就是在我的onCreate()方法中创建我的对话框,如下所示:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

//Create splash-screen object and pass in width and height (width and height are defined and valid, I just removed them from this post to make it more readable)

    splash = new SplashScreen(MainActivity.this, width, height);

//Create dialog that will show splash-screen 
    loading_dialog = new Dialog(MainActivity.this,android.R.style.Theme_Black_NoTitleBar_Fullscreen);

//Set and display splash screen view
    loading_dialog.setContentView(splash);
    loading_dialog.show();
}

任何想法可能是什么问题?

3 个答案:

答案 0 :(得分:1)

您可以在onCreate中创建对话框,但无法显示该对话框,因为活动尚未显示。谷歌,有一个例子,如何在某个地方做到这一点......

答案 1 :(得分:0)

答案 2 :(得分:0)

这可能是因为在关闭Activity之前你没有取消()对话框。 尝试在onStop()方法中对对话框执行cancel()。它应该有所帮助。 希望它有所帮助。