0

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

“Activity 泄露了最初添加在这里的窗口 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();
}

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

4

3 回答 3

1

您可以在 onCreate 中创建对话框,但不能显示它,因为活动尚不可见。谷歌它,有一个例子如何在某处做它......

于 2013-06-19T08:45:54.467 回答
0

我相信您需要在显示之前创建对话框。

你需要做:

loading_dialog.create().show();

反而

loading_dialog.show();

我找到了类似的Q,你可以使用它们

Activity 泄露了最初添加在这里的窗口 com.android.internal.policy.impl.PhoneWindow$DecorView@44f72ff0

Activity 泄露了原来添加的窗口

Activity 泄露了最初添加在这里的窗口 com.android.internal.policy.impl.PhoneWindow$DecorView@46029dd0

于 2013-06-18T22:16:30.547 回答
0

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

于 2013-06-19T08:55:26.217 回答