C# Winform アプリケーションに WebBrowser コントロールを埋め込もうとしています。これは簡単に聞こえます。しかし、Navigate メソッドを呼び出すたびに、WebBrowser コントロールが大量のメモリを消費することがわかりました。メモリが解放されることはありません。メモリ使用量はどんどん増えていきます…</p>
ネット上にはまったく同じ問題を抱えている人がたくさんいますが、満足のいく答えはまだ見つかりません. これは、私がこれまでに見つけたこの問題に関する最高の議論です:
ある人は、問題を解決するために IE8 へのアップグレードを提案しました。
ただし、ユーザーが最新の IE バージョンをインストールしているかどうかに関係なく機能するソリューションが必要です。私はユーザー環境を制御できません。
WebBrowser コントロールによって取得されたメモリを解放する方法を知っている人はいますか? 回避策はありますか? WebBrowser コントロールに代わるものはありますか?
更新: さらにいくつかのテストを行いました。職場では、Windows XP と IE6 を実行しています。メモリはそこで成長していません。ナビゲートメソッドを呼び出すとメモリが増えますが、しばらくすると解放されます。自宅では Vista を実行しており、IE8 にアップグレードしています。ここでも、問題はもう見られません。問題はIE7に固有のようです。したがって、質問は「IE7がインストールされているときにIE WebBrowser Controlでメモリリークを修正する方法」に言い換える必要があります。この問題が IE7 に固有のものであることを確認できる人はいますか?