3

アプリケーションで AWT-EventQueue スレッドと AWT-Shutdown スレッドがシャットダウンしていません。なぜそうでないのかを見つけるためのデバッグ手法はありますか? 探すべき特別なものはありますか?

4

1 に答える 1

6

すべてのウィンドウを閉じた後に JVM が正しく終了しない場合は、次の点を確認してください。

  • 単に非表示にするだけでなく、すべてのウィンドウが適切に破棄されていることを確認してください。これには、所有者のないダイアログの所有者として Swing (または AWT) によって作成された非表示のウィンドウが含まれます。これについては、確認できますWindow.getWindows()
  • Threadすべてのウィンドウを破棄した後、アクティブでないことを確認してください(デーモンを除く)
  • アプリケーションが Java Web Start によって起動されていないことを確認してください。この場合、呼び出す必要があるためですSystem.exit(0)(これは JWS の既知のバグです)。

これがあなたの質問に答えるのに役立つことを願っています.

また、Swing ウィンドウのガベージ コレクションについて、最近この SO の質問もありました。

于 2011-06-20T21:33:40.570 に答える