環境はVS.NET2003 + VC + MFC + IE7です。
CHtmlViewで画像ファイルを開いてそのまま閉じることを繰り返すと、メモリが増え続け
ていきます。
再現方法は以下になります。
・MDIで新しいプロジェクトを作り、ViewをCHtmlViewにする。
・CXxxView::OnInitialUpdateのNavigate2に渡しているURLを適当な画像ファイルに変更
する。
後はタスクマネージャで監視しながら、新規ファイルボタンを押しては閉じるを繰り返
します。
画像ファイルのサイズにもよるかもしれませんが、1、2MBずつメモリが増えていきま
す。
何か解放(後始末)する必要があるのでしょうか?
ご存知の方がいらっしゃいましたら、ご回答よろしくお願いします。
VISTA+IE8+VC2005
で同じことを試してみましたが再現しませんでした。
最初の数回は少しずつ(数KBずつくらい)使用メモリが増えていきますが
途中で止まります。
http://support.microsoft.com/kb/241750/ja
こちらが参考になるかもしれません。
うみんちゅ様、レスありがとうございます。
> VISTA+IE8+VC2005
> で同じことを試してみましたが再現しませんでした。
ご確認ありがとうございます。
> http://support.microsoft.com/kb/241750/ja
> こちらが参考になるかもしれません。
これはVC6の話ですので、違うと考えています。
XP + IE7 + VC2008では起きなかったので、
VC2003とVC2008のCHtmlView関連の実装が記述されている
afxhtml.hとviewhtml.cppの違いを比べてみたのですが、
解放漏れに繋がりそうな違いは無さそうでした。
VC2003では、画像だけではなく、
通常のページを開いたときも増え続けていくようです。
akey様、レスありがとうございます。
どちらもアップデートして試してみましたが、効果はありませんでした。
VC2005以上を使用すると起こりませんので、それを使用することにします。
ありがとうございました。