-2

ImageIcon によって割り当てられたメモリを解放するには? 「new ImageIcon ...」で無限ループが発生し、画面に表示した後、各画像によって割り当てられたメモリを解放する必要があります。画像間の表示間隔は 200 ms です。メモリの消費量の増加を避けるためのシンプルで効率的なソリューションはありますか? どうもありがとう!

4

2 に答える 2

2

画像を再利用せず、システムにキャッシュされたデータを破棄したい場合は、以下をご覧ください。ImageIcon#getImage#flush

この Image オブジェクトによって使用されているすべての再構築可能なリソースをフラッシュします。これには、画面にレンダリングするためにキャッシュされているピクセル データと、画像のデータまたはピクセルを保存するために使用されているシステム リソース (再作成できる場合) が含まれます。画像は最初に作成されたときと同様の状態にリセットされるため、再度レンダリングする場合は、画像データを再作成するか、ソースから再度フェッチする必要があります。

于 2012-12-15T05:20:49.923 に答える
1

画像の最終的な描画の直後にimages.get(i)、保持されている画像を削除すると言いますimages.set(i, null)。このようにして、ガベージコレクターはそれを取り除くことができます。

于 2012-12-15T02:32:31.443 に答える