0

Windows フォームで小さなゲームを作成し、プロパティ backgroudimage を使用します。新しいビットマップを作成し、フォームに渡します。問題は、プログラムがメモリを使いすぎていることです。新しいビットマップを作成するプロセスを実行するたびに、2k が追加されます。しばらくすると、ガベージ コレクターがそれらをすべて削除したと思います (メモリは一度に削除されます) が、800k に達する可能性があり、私の小さなゲームではばかげています。フォーム プロパティに配置した後、ビットマップへの参照がありません。ビットマップを null に配置しても、問題は解決しません。そのメモリの問題を解決するにはどうすればよいですか? ありがとう!

4

1 に答える 1

2

新しい画像を設定する前に、前の画像への参照を取得して、破棄できるようにします。

Image oldImage = this.BackgroundImage;
this.BackgroundImage = newImage;
oldImage.Dispose();
于 2012-05-17T20:32:08.523 に答える