私はVisual Studio .NETを使用してアプリケーションを構築しており、正常に動作します。アプリケーションが2〜3時間以上使用されると、アプリケーションは遅くなり始め、理由はわかりません。私はGC.Collect();
を使用してメモリリークの問題を解決しましたが、今は新しいものがあります。 解決策を知っている人はいますか?アプリケーションからの勝利が遅くなります
答えて
あなたが本当にメモリリークを持っている場合は、単にGC.Collect()
を呼び出すと、どこにもあなたを取得しません。 GarbageCollectorは他のオブジェクトから参照されていないオブジェクトだけを収集することができます。
オブジェクトを正しくクリーンアップしないと、GCは何も収集しません。
メモリ消費量を取り扱う際に、あなたが強く、次のパターンを検討してください:
弱いイベント(MSDN Documentation here) あなたがイベントからではない退会を行う場合は、サブスクライブオブジェクトが中に放出されることはありませんがガベージコレクション。
GC.Collect()
これらのオブジェクトを削除すると、それらはあなたの記憶を乱雑にします。- はあなたが常に無料のリソースを使用すべきである(MSDN documentation here) は(私が間違っているの実装をたくさん見てきたように、私は強く、このducumentationを読むことをお勧めします。)
IDisposable
インターフェイスを実装します。電話番号Dispose()
それを提供するすべてのオブジェクト! 同じことがストリームに適用されます。には、常に
Close()
とと連絡してください。ポイント2と3を簡単にするには、
using
ブロックを使用できます。 (MSDN documentation here) とすぐにこれらのコードブロックがスコープの外に行くように、彼らは自動的に指定されたオブジェクト上の適切なDispose()
またはClose()
メソッドを呼び出し。これは、try... finally
の組み合わせを使用する場合と同じですが、より便利です。
私はデバッグでデプロイしたので、DebugとReleaseとの大きな違いはありますか?私はリリースモードで私のセットアップを構築すると速いですか? –
一般に、RELEASEモードのアプリケーションはDEBUGモードよりも若干速くなります。なぜなら、DEBUGモードでは、RELEASEとしてデプロイされたときには実行されない「舞台裏」で多くの面白いものがあるからです。しかしGarbageCollectorに関してはこれはあまり効果がありません。私はこれが間違った方向に進むと思う。 –
ANTSメモリプロファイラなどのメモリプロファイラを試してください。まず、何が起こっているのかを理解する必要があります。次に、それを修正する方法について考えることができます。
http://www.red-gate.com/products/dotnet-development/ants-memory-profiler/
- 1. パス文字列値を適切勝利XPでなく、勝利サーバー2003
- 2. 勝利フォームからWebフォームへのリダイレクト
- 3. ASP.NETアプリケーションが負荷の下で遅くなります
- 4. 勝利フォーム:SaveFileDialog
- 5. Flash/AS2:さらにスクロールするとアプリケーションが遅くなります
- 6. Webアプリケーションの起動によりJavaアプリケーションが遅くなる
- 7. プログレスバーがアプリケーションを遅くしますか?
- 8. Xcode - 主な勝利で動くスティッキーパネルウィンドウを作成するには?
- 9. sqlがasp.netで遅く遅くなります
- 10. OpenProcessが勝利に失敗する7
- 11. Wifi放送が遅くなります
- 12. キャンバスアニメーションが遅くなります
- 13. アンドロイド4.1.Xではローディングが遅くなり、4.2ではローディングが遅くなることがありますか?
- 14. なぜAndroidアプリケーションの応答が遅くなるのですか
- 15. アプリケーションが遅くてiPhoneで遅くなる
- 16. TypeScriptコンパイラは遅くなりますか?
- 17. ループのクエリが遅くなったり遅くなったりする
- 18. httpsでパネルが遅くなったり遅延したりしますか?
- 19. このようなゲームの勝利戦略は何ですか?
- 20. スレッド接続によりシステムが遅くなりますか?
- 21. gitwebが遅くなりました
- 22. ビジュアルスタジオ2010勝利7 64ビット
- 23. .net 3.5単純勝利アプリケーションエラー
- 24. IISからWebサービスを呼び出すのが遅くなります
- 25. テキスト更新が遅くなるアプリケーション
- 26. Tablelayout addViewが遅くなるアプリケーション
- 27. Railsアプリケーションは、データベースではなくボトルネックになるほど遅くなる可能性がありますか?
- 28. 勝利7でqtcore4.dllなしでWinformsがクラッシュする
- 29. データが多いほどクエリが遅くなりますか?
- 30. バックグラウンドジョブのダウンロード速度が遅くなりますか?
詳細やコードがなくても、あなたの質問はおそらくは答えが広すぎるでしょう。あまりにも多くの未知の要素があります。おそらくシンプルで汎用的な解決策はありません。 –