0

Javaアプリケーションでログアウト機能を使用したいのですが、アプリケーションでいくつかのタイマーを使用しています。すべてのjframeとその内容を破棄し、ログアウトボタンをクリックしたときにすべてのタイマーを停止したいと思います。ログアウトボタンを押すと、メインのjframeが消え、ログイン画面に新しいメモリが表示されます。

jframeを破棄して、falseで表示し、ログイン画面を表示しようとしました。すべてのものはうまく機能しますが、以前のタイマーは停止せず、アプリケーションはより多くのメモリを使用しています。

4

2 に答える 2

2

一般に、ログアウト後に最初からやり直したい場合は、現在のインスタンスを終了する直前に、アプリケーションの新しいインスタンスを開始するなどの方法を試すことができます。重要なプログラムでは、自分ですべてを明示的にクリーンアップすると問題が発生する可能性があります。タイマーとは別に、さまざまな種類のリソースリークが発生する可能性があります。

于 2013-01-31T10:43:53.303 に答える
0

アプリケーションに複数のフレームがある場合、それは悪い設計です。

ただし、フレームを破棄したい場合は、すべてのフレームを取得してFrames.getFrames()、メイン/必須フレームを除くすべてのフレームを破棄する必要がある場合があります。

モデルにデータがある場合は、それをクリーンアップし、他のものをクリーンアップします。しかし、AKJがリークに対して提案したように、それは推奨されないアプローチです。

于 2013-01-31T11:10:21.113 に答える