我在这里阅读http://delphi.about.com/od/adptips2005/qt/cleartimage.htm,从TImage中清除图像的一种方法是将nil分配给.Picture
,如下所示:
Image1.Picture := nil;
Run Code Online (Sandbox Code Playgroud)
我只是想确定...我想这Image1.Picture.loadFromFile(fileName)
将分配一些内存并简单地将其设置为nil,而不释放内存,将导致内存泄漏.
我对么?如果是这样,这是从TImage卸载和清除图像的"正确"方法吗?
bum*_*mmi 12
该TImage.Picture
二传手是TImage.SetPicture()
在ExtCtrls
单位,这就要求TPicture.Assign()
在Graphics
单位,这就要求TPicture.SetGraphic()
,这将释放现有Graphic
分配新之前Graphic
.
所以用法
Image1.Picture := nil;
Run Code Online (Sandbox Code Playgroud)
最终会打电话
Image1.Picture.SetGraphic(nil);
Run Code Online (Sandbox Code Playgroud)
并且不会导致任何内存泄漏.