デストラクタで console.WriteLine() を使用して、特定のクラスのインスタンスが確実に解放されるようにしようとしていますが、出力が表示されません。
残っている参照やイベント サブスクリプションを注意深く検索しましたが、何も見つかりませんでした。私自身の正気を保つために、検索を続ける前に、誰かがそれを確認できますか:
GC.Collect();
GC.WaitForPendingFinalizers();
オブジェクトがどんなに小さくても、完全な再利用を強制しますか?
デストラクタで console.WriteLine() を使用して、特定のクラスのインスタンスが確実に解放されるようにしようとしていますが、出力が表示されません。
残っている参照やイベント サブスクリプションを注意深く検索しましたが、何も見つかりませんでした。私自身の正気を保つために、検索を続ける前に、誰かがそれを確認できますか:
GC.Collect();
GC.WaitForPendingFinalizers();
オブジェクトがどんなに小さくても、完全な再利用を強制しますか?
In general, this should clean up most things.
However, if you have code in your finalizers, it's possible that you will need to call GC.Collect()
twice, as the first time will cause the finalizers to execute, but the actual memory cannot be cleaned until after the finalizer has completed, which means the subsequent call will catch the object.