Delphi中多线程使用GDI,总是内存泄露。感觉像是释放不掉
这是我线程中的代码,如果放在主线程中是没有问题的,可是放在子线程中的时候就老是出现内存泄露,我到底哪里出问题了呀,申请的一些对象都已经释放掉了呀,而且用API都把那些什么逻辑笔什么其他的都释放掉啦,为什么还是不行呀?有哪位大虾碰到过,帮帮我,跪谢啦。
var i:integer;
BMP:TBitmap;
Stream:TStream;
begin
for i:=0 to 1500 do
begin
Stream:=TMemoryStream.Create;
BMP:=TBitmap.Create
BMP.Canvas.Font.Color:=0
BMP.Canvas.Font.Size:=10
BMP.Canvas.Font.Name:='宋体';
BMP.Width:=160;
BMP.Height:=16;
BMP.Canvas.TextOut(0,0,'成功');
BMP.PixelFormat:=pf1bit;
BMP.SaveToStream(Stream);
DeleteObject(BMP.Handle);//-----使用API函数释放
BMP.Free;
Stream.Free;
end;
ShowMessage('测试成功!');
[解决办法]
加异常判断看看
try
try
// 处理代码
except
// 日志
end;
finally
end;