MFC多次创建Modaless CDHtmlDialog并删除一个或多个,内存保持未释放状态,并且每一个CDHtmlDialog占用10〜20MB的空间,直到创建删除所有CDHtmlDialog的新模态CDHtmlDialog。
我尝试了这些解决方案。但尚未解决。
VOID CMyManagerDlg::CreateMyDlg()
{
CMyDlg *pMyDlg = new CMyDlg();
pMyDlg->Create(IDD_CID, GetDesktopWindow());
m_pMyDlg = pMyDlg;
m_pMyDlg->Navigate("https://www.googole.com");
m_pMyDlg->ShowWindow(SW_SHOW);
}
VOID CMyManagerDlg::RemoveMyDlg()
{
m_pMyDlg->DestroyModeless();
CoFreeUnusedLibraries(); // sol1
}
void CMyDlg::PostNcDestroy()
{
delete this; //sol2
CDHtmlDialog::PostNcDestroy();
}