1

WinXP で Swing GUI を実行しています。

ときどき、何か他のこと (Web サーフィンなど) をしてから自分のプログラムに戻りたいと思うと、GUI は表示されますが完全にフリーズし、何もできません。

再び機能するまで(10秒または5分)待つ必要があります。

スクリーンセーバーから戻ったときに同じ問題に気付きました(無効にしたため)。

マシンが原因ではありません。RAM とプロセッサのレベルは問題ありません。

この非常に厄介な問題の原因について何か考えがありますか? もしかして塗り直しの問題?

4

1 に答える 1

2

それには多くの説明があるかもしれません:

  1. アプリはEDTスレッド(インターフェースの更新を制御するスレッド)でいくつかの重い操作を行います
  2. L&Fまたはコンポーネントのエラーが原因でUIの更新に問題がある可能性があります(まれなケース)
  3. GCは内部呼び出しが原因で発生し、アプリケーション全体を処理します(可能性は低いです)
  4. アプリウィンドウに関するいくつかのネイティブまたは古いJDKの問題(ほぼ0%の確率であなたのケースです)

通常、最初の説明が機能します。その場合は、コードを確認して、すべての「重い」操作を別のスレッドに抽出する必要があります。

とにかく、私はコードを見ずにこれ以上具体的なことを言うことはできません...

于 2012-09-20T13:18:05.860 に答える