1

Blockquote TimeCallBack オブジェクトは CacheExpires オブジェクトを参照し、BASE_RATE_SRCE_CODEInfo[] から GC ルートへのパスの 1 つにあります。

C# アプリケーションをメモリ プロファイラーで分析したところ、生き残ったオブジェクトBASE_RATE_SRCE_CODEInfo[]が TimerCallBack オブジェクトによって参照されていることがわかりました。これらのBASE_RATE_SRCE_CODEInfo[]オブジェクトは GC によって破棄されていないため、メモリ リークの原因となる可能性があります。

BASE_RATE_SRCE_CODEInfo[]では、 GC ルートで TimerCallback へのこれらの参照を削除または破棄するにはどうすればよいでしょうか?

4

1 に答える 1

1

TimerCallback オブジェクトを参照すると言及した生き残ったオブジェクトは、Timer オブジェクトで使用されています。Timer オブジェクトがアクティブな理由を特定します。これらの Timer オブジェクトがコールバックを維持している可能性が最も高いです。

タイマー コンストラクター (オブジェクト) の理解を深めるには、http: //msdn.microsoft.com/en-us/library/ah1h85ch.aspxを参照してください。

于 2013-10-07T07:03:25.977 に答える