たとえば、Paint.NET を起動します。次に、タスク マネージャーでメモリ使用量を確認します。私のコンピューターでは、36Mb を使用しています。
次に、Paint.NET を最小化します。これで、1Mb を少し超えるだけで済みます。
これは、すべての .NET アプリケーションで発生します。.NET アプリケーションを最小化するとどうなりますか? GC は発生していますか?
たとえば、Paint.NET を起動します。次に、タスク マネージャーでメモリ使用量を確認します。私のコンピューターでは、36Mb を使用しています。
次に、Paint.NET を最小化します。これで、1Mb を少し超えるだけで済みます。
これは、すべての .NET アプリケーションで発生します。.NET アプリケーションを最小化するとどうなりますか? GC は発生していますか?
タスク マネージャーは、その時点でたまたま実メモリにページングされたアプリケーションに属するメモリの量を示します。Windows でアプリケーションを最小化すると、カーネルはプロセスのワーキング セットを自動的にトリミングして、メモリの使用量を減らします。この動作は、.NET アプリに固有のものではありません。
代わりにプロセスの「プライベート バイト」の値を見ると、プロセスが使用するメモリの量をより正確に示すことができます。プロセスのワーキング セットが削除されても、この値は変更されません。
Microsoft は、このナレッジベースの記事で詳細情報を提供しています: http://support.microsoft.com/kb/293215