メモリ圧迫の追加および削除のアプリケーション サンプル

[This documentation is for preview only, and is subject to change in later releases. Blank topics are included as placeholders.]

このサンプルでは、マネージ ガベージ コレクションとアンマネージ コードとの相互運用の例を示します。

サンプルの使用については、次のトピックを参照してください。

コマンド プロンプトを使用してサンプルをビルドするには

  1. コマンド プロンプト ウィンドウを開き、GCDemo ディレクトリの使用言語に対応するサブディレクトリに移動します。 必要な設定および SDK のコマンド プロンプトについては、「方法 : サンプルを設定します。」を参照してください。

  2. 使用するプログラミング言語に応じて、コマンド ラインで「msbuild GCDemoCS.sln」または「msbuild GCDemoVB.sln」と入力します。

Visual Studio を使用してサンプルをビルドするには

  1. Windows エクスプローラを開き、GCDemo ディレクトリの使用言語に対応するサブディレクトリに移動します。

  2. 使用するプログラミング言語に応じて GCDemoCS.sln ファイルまたは GCDemoVB.sln ファイルをダブルクリックして、そのファイルを Visual Studio で開きます。

  3. [ビルド] メニューの [ソリューションのビルド] をクリックします。

サンプルを実行するには

  • コマンド プロンプト ウィンドウを開き、新しい実行可能ファイルが格納されているディレクトリに移動します。

Requirements

これらのサンプルは、使用して構築している場合 Microsoft Visual Studio 2005、 Visual Studio 2005 コマンド プロンプトの、または Platform SDK をインストールし、インクルード パスで指定の がある場合に、プロジェクトに使用可能な Windows ヘッダーを必要です。

解説

このサンプルでは、AddMemoryPressure クラスの新しいメソッド RemoveMemoryPressure および GC を示します。 これらのメソッドを使用して、ジェネレーション ゼロのコレクションのガベージ コレクション方式のパターンを変更できます。 これを使用して、割り当てられているアンマネージ リソース数が同じリソースのマネージ フットプリントより極端に多くなった場合に、ガベージ コレクタ (GC: Garbage Collector) にヒントを与える必要があります。 このヒントがないと、GC はアンマネージ メモリを認識せず、別のコレクション方式を選択することがあります。

このサンプルを実行し、メモリ圧迫がある場合とない場合とで割り当てに成功した回数を確認します (割り当ては適切な圧迫を追加した方が成功します)。 また、実行されたジェネレーション ゼロのコレクションの回数に対してメモリ圧迫を追加した場合の効果を確認し、圧迫が追加されると GC はより多くのコレクションを実行することを確認します。

圧迫を追加したら、同量の圧迫を削除してください。