问一个关于delphi中关于对象释放的问题

比如声明一个变量varAMan:=TMan;使用AMan:=TMan创建直接使用AMan:=nil;1、是不是就等于直接把这个指针清除了,而AMan对象所占的内存还存在?... 比如声明一个变量var AMan:= TMan;
使用AMan:= TMan创建
直接使用AMan:= nil;
1、是不是就等于直接把这个指针清除了,而AMan对象所占的内存还存在?
2、这样直接关闭应用程序后,这个对象是不是还是不会被释放?
展开
 我来答
百度网友09d4ae1
2012-07-06 · TA获得超过267个赞
知道小有建树答主
回答量:169
采纳率:0%
帮助的人:202万
展开全部
1,你说对了,=nil只是把指针清除,内存还在

2,直接关闭后会释放,不过不是DELPHI做的,是操作系统对一个死进程进行内存清理。。如果程序没关,这个内存是一直占着的,如果程序重复在新建这个类,而不释放,你就会发现程序占用内存越来越大,如果不重复建,影响不大。

还一个对于类中手工getmem等申请内存的操作,如果没对应的释放的。你关闭程序还是内存还在,就是传说的内存泄漏了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式