CHtmlView::Navigate2 浏览多个网页,发现不断吃内存不吐,只有关闭程序后才吐。
请教使其释放内存的方法。
CHtmlView::Navigate2 浏览多个网页,发现不断吃内存不吐,只有关闭程序后才吐。
请教使其释放内存的方法。
可以考虑以下几种方法来释放内存:
手动调用 CHtmlView::Navigate2 前,先调用 CHtmlView::Stop 方法停止加载当前页面,然后再进行导航到下一个网页。这样可以确保在加载下一个页面之前释放当前页面所占用的内存。
在每次页面加载完成后,可以手动调用 CHtmlView::ExecWB 方法,并将 OLECMDID_OPTICAL_ZOOM 命令和 OLECMDEXECOPT_DONTPROMPTUSER 选项传递给它,以进行缩放操作。这样可以触发内部的内存回收机制,有助于释放一部分内存。
在不需要继续使用 CHtmlView 对象时,调用 CHtmlView::DestroyWindow 方法销毁窗口并释放相关资源,同时释放对应的内存。
确保 CHtmlView 对象被正确地释放。如果是通过 new 创建的对象,在使用完毕后需要调用 delete 进行内存释放。如果是类成员变量或局部变量,则在作用域结束时会自动调用析构函数,进行内存的释放。