delphi 为什么窗体关闭 内存却不释放?

柴团 2013-08-23 10:37:53
我有A,B 2个窗体, A是主窗体,运行后占内存是3m, 当我点击A窗体上的按钮创建显示B窗体rilick:=Trilick.Create(Self);
rilick.Show;(创建显示代码)

显示后内存到了12m,因为B窗体有一个WebBrowser1载入了一个页面, 当我关闭B窗体(WebBrowser1.Free;
FreeAndNil(rilick);)后内存为什么不是3m 而是7m,这是内存泄漏嘛,还是没少释放了什么?

对了 我用的是xe4
...全文
657 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
LastAvengers 2013-09-10
  • 打赏
  • 举报
回复
webbrowser确实存在泄露的情况
befree 2013-09-09
  • 打赏
  • 举报
回复
引用 5 楼 sonicer 的回复:
反复多次,看内存是否持续上涨,如果没有持续上涨,应当问题不大
对。
JPEXE 2013-08-28
  • 打赏
  • 举报
回复
WebBrowser是释放不干净的,要想保持主进程内存不涨,就只能把WebBrowser做到附进程主调用,不用时直接关掉进程才能释放完全。
武稀松 2013-08-27
  • 打赏
  • 举报
回复
webbrowser不能释放内存是公知的了,这个还真不能怪Delphi,是微软的错
柴团 2013-08-27
  • 打赏
  • 举报
回复
谢谢 已经解决了
林石公 2013-08-23
  • 打赏
  • 举报
回复
反复多次,看内存是否持续上涨,如果没有持续上涨,应当问题不大
s11ss 2013-08-23
  • 打赏
  • 举报
回复
把webbrowser放在另一个exe,
柴团 2013-08-23
  • 打赏
  • 举报
回复
引用 2 楼 sgzhou12345 的回复:
可能 某个窗体或者程序代码 没有处理完吧
可是2 就2个窗体每个窗体上一个控件 - -!
山东蓝鸟贵薪 2013-08-23
  • 打赏
  • 举报
回复
可能 某个窗体或者程序代码 没有处理完吧
柴团 2013-08-23
  • 打赏
  • 举报
回复
chinawcs 2013-08-23
  • 打赏
  • 举报
回复
排除 窗体 因素 会 。 可以肯定的是 WebBrowser 这个东西 吃内存 只要用了mshtml的东西 就有内存泄露 它是不释放内存的

5,402

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧