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. パターン使用を廃棄する
- 6. C#ODP.netを使用して廃棄する
- 7. リソースをロードして廃棄する必要がある場合
- 8. ネイティブモジュールライフサイクルに反応する - 「リロード」リソースを廃棄します
- 9. Polymerfire auth globallyを使用
- 10. C#メモリリークメモリ、廃棄後/閉じる/ etc?
- 11. カスタムオブジェクトの廃棄
- 12. C#のマニュアル・廃棄-of -an -IDisposableセマンティクス
- 13. StructureMapコンテナを廃棄する
- 14. ブラシを廃棄する
- 15. StringBuilderオブジェクトを廃棄する
- 16. ImageListを廃棄する
- 17. Ninjectでアプリケーション終了時にシングルトンを廃棄する
- 18. C#WinFormアプリケーションのデバッグ
- 19. winformアプリケーションのthree.js C#
- 20. 廃棄インスタンス
- 21. IServiceProviderガベージコレクション/廃棄
- 22. ネットワーク廃棄ステータス
- 23. NUnit-オブジェクトの廃棄
- 24. C#で入れ子にされたコレクションを廃棄する
- 25. Xamarin.Formsでオブジェクトを廃棄する
- 26. LibGdxで画面を廃棄する
- 27. libpcapでパケットを廃棄する
- 28. IDispatch COMインターフェイスをラップするc#インターフェイスの廃棄
- 29. xlsread [num]廃棄NaN
- 30. Xamarinフォーム廃棄Textview
あなたは何をしようとしているのか詳細を教えてください。 – LukeH
プログラムを終了しますか? –
私はうまく動作するウィンドウのようなカスタムタスクバーを作成しています。しかし、アプリケーションを閉じると、タスクバーが占有する領域がブロックされます。だから私はGCを強制したい。以下の説明から私はいくつかのものを理解した。しかし、それをグローバルにどこで呼び出すのですか? – Anuya