c#winformアプリケーションで未使用リソースを廃棄する方法GLOBALLY ??c#winformアプリケーションで未使用のリソースを廃棄するGLOBALLY
答えて
次の操作を行うことにより、ガベージコレクションを強制することができます。これは、想定している
GC.Collect();
GC.WaitForPendingFinalizers()
あなたはIDisposable
パターンに従ってください。コードサンプルにはかなりのものがありますdetailed article on the IDisposable
pattern
ガベージコレクションを強制することはめったに正しいことではありません。それは実際にはいくつかの状況でオブジェクトの生涯を促進することができます... –
"これはあなたが' IDisposable'パターンに従うことを前提としています - 二つは接続がほとんどありません... –
このアプローチはIDisposableを必要とせず、 IDisposableの適切な実装と使用は、この問題の根底にある問題を解決します。 –
さて、あなたは*(GC.Collect
)ガベージコレクションを強制することができ、それはDispose()
と同じではありません - あなたのコードがそれを見ることができれば(それを配置する)、そしてもちろん、それは収集することはできません。だからあなた自身を追跡する余分なモデルを導入することは、生産性を低下させる可能性があります。
using
ブロックを適切に使用して、コードがIDisposable
リソースを「所有している」ことを知っていることを確認することをおすすめします。 システムブラシ(など)は、独自のカスタムブラシとは異なる扱いをする必要があるため、これはペン/ブラシ/などで少し厄介です。
* =とミッチノートのように、これはまれに正しいことです。私は通常、テスト・リグのGC.Collect
を使用して、テスト・サイクル間で物事を平坦化します。実動コードではありません。
@Marc:ガベージコレクションを強制することはめったに正しいことではないことに言及する価値があるかもしれません。それは実際にいくつかの状況でオブジェクトの寿命を促進することができます... –
+1、質問の背後にある問題に答える。 –
- 1. C#でリソースを廃棄する
- 2. Winformアプリケーションでdllを使用するC#
- 3. パケットをC++でIPで廃棄する
- 4. C#Windowsアプリケーションの全ページソースを廃棄する
- 5. C#ODP.netを使用して廃棄する
- 6. リソースをロードして廃棄する必要がある場合
- 7. カスタムオブジェクトの廃棄
- 8. C#メモリリークメモリ、廃棄後/閉じる/ etc?
- 9. ブラシを廃棄する
- 10. ImageListを廃棄する
- 11. StringBuilderオブジェクトを廃棄する
- 12. StructureMapコンテナを廃棄する
- 13. Ninjectでアプリケーション終了時にシングルトンを廃棄する
- 14. 廃棄インスタンス
- 15. ネットワーク廃棄ステータス
- 16. NUnit-オブジェクトの廃棄
- 17. C#で入れ子にされたコレクションを廃棄する
- 18. libpcapでパケットを廃棄する
- 19. LibGdxで画面を廃棄する
- 20. C#WinFormアプリケーションのデバッグ
- 21. IDispatch COMインターフェイスをラップするc#インターフェイスの廃棄
- 22. ADO.NETと使用せずに廃棄する
- 23. スクラップ、JavaScript内のデータを廃棄する
- 24. スレッド内のアンマネージドリソースを廃棄する
- 25. 使用ブロックで例外がスローされた場合でもリソースは廃棄されますか?
- 26. aps.netとhtmlAgilityを使用したhtmlのPOST情報の廃棄
- 27. Xpathを使用した緯度と経度の廃棄。
- 28. ドットネットメモリの廃棄、CLRガベージコレクタは他のリソースを扱っていますか?
- 29. F#の非同期廃棄
- 30. SQL接続の廃棄
あなたは何をしようとしているのか詳細を教えてください。 – LukeH
プログラムを終了しますか? –
私はうまく動作するウィンドウのようなカスタムタスクバーを作成しています。しかし、アプリケーションを閉じると、タスクバーが占有する領域がブロックされます。だから私はGCを強制したい。以下の説明から私はいくつかのものを理解した。しかし、それをグローバルにどこで呼び出すのですか? – Anuya