2

いくつかのカスタム モデルを開くことができるカスタム アプリケーションがあります。アプリケーションでモデルを開いてから別のモデルを開くと、最初のモデルからメモリが解放されません。

プロファイラー (ANTS メモリー プロファイラー) でメモリ リークをプロファイリングしようとすると、アプリケーションがメモリを解放し、リークを追跡できません。どうすればこの問題を管理できますか? プロファイラーからのメモリ使用量チャート

4

1 に答える 1

3

スナップ ショットを作成すると、ANTS メモリ プロファイラーは完全なガベージ コレクションを実行します。

スナップショットを撮りたいときは、連続する 2 つのスナップショットの間にメモリの差がなくなるまで、通常 2 ~ 3 個のスナップショットを撮ります。次に、基本スナップショットと比較します。

インスタンス リストに移動し、成長しているインスタンスがあるかどうかを確認します。システム オブジェクトのヒープを取り除くために、ソースを持つオブジェクトを選択します。

成長しているインスタンスがある場合は、その 1 つを選択して、参照を保持しているインスタンスを正確に示すオブジェクト保持グラフを確認します。

また、IDisposable を適切に実装し、すべての破棄可能なオブジェクトを破棄し、すべてのイベント サブスクリプションのサブスクライブを解除していることを確認してください。

以下のチュートリアルをご覧ください

http://www.red-gate.com/products/dotnet-development/ants-memory-profiler/walkthrough http://www.red-gate.com/products/dotnet-development/ants-memory-profiler/

于 2015-06-17T00:33:43.277 に答える