蒋老大,那个问题还没解决啊?
早上来测试了,在IE8的环境下同样是内存增加,定时关闭启动,这个方法不太可取,比如用户一直在用,哪能关闭呢?这是最后迫不得已的解决方案。
现在关键我是想知道原因,内存无缘无故地被吃掉,到底在哪?
有人说是创建框架那一句,但我在框架加了断点调试,走到那一步
在这个函数void CMainFrame::PostNcDestroy() 中加了delete this;
但发现此时的CFrameWnd hWnd=0x00000000;所以我认为子框架占用的内存被释放掉了
-----------------不好意思,问题我再重发一遍---------------------------------
请问MFC做的浏览器,内存如何释放
单文档,继承CHtmlView类,在视图中打开新窗口用OnNewWindow2方法,每打开新窗口,内存都增加(第一个窗口不关闭的),然后关闭子窗口,内存能释放掉大部分,但还是增加一二M,如果经常用地话,那么真是很快会吃掉所有内存。。。郁闷
是和IE的接口有问题吗???
下载地址:http://d.namipan.com/d/e8e08c4ab8a344c6f6f065ccd18b45679b285c4c523f0000
OnNewWindow2里面代码如下
- C/C++ code
-
CWinApp* pApp = AfxGetApp();
POSITION pos = pApp->GetFirstDocTemplatePosition();
CDocTemplate* pDocTemplate = pApp->GetNextDocTemplate( pos );
CFrameWnd* pFrame = pDocTemplate->CreateNewFrame(
GetDocument(),(CFrameWnd*)AfxGetMainWnd() );
pDocTemplate->InitialUpdateFrame( pFrame, NULL );
CMyBrowserView* pView = (CMyBrowserView*)pFrame->GetActiveView();
pView->SetRegisterAsBrowser( TRUE );
*ppDisp = pView->GetApplication();
// CHtmlView::OnNewWindow2(ppDisp, Cancel);