0

アプリの実行中に断続的に次のエラーが発生するようです。

「アクティビティは、最初にここに追加されたウィンドウ 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

0

ダイアログを表示する前に、ダイアログを作成する必要があると思います。

あなたがする必要があります:

loading_dialog.create().show();

代わりは

loading_dialog.show();

類似のQを見つけました。使用できます

アクティビティは、最初にここに追加されたウィンドウ com.android.internal.policy.impl.PhoneWindow$DecorView@44f72ff0 をリークしました

アクティビティには、最初に追加されたウィンドウがリークされています

アクティビティは、最初にここに追加されたウィンドウ com.android.internal.policy.impl.PhoneWindow$DecorView@46029dd0 を漏らしました

于 2013-06-18T22:16:30.547 に答える
0

おそらく、Activity を閉じる前にダイアログを cancel() しないためです。onStop() メソッドのダイアログで cancel() を実行してみてください。それは役立つはずです。それが役に立てば幸い。

于 2013-06-19T08:55:26.217 に答える