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