delphi中大量创建/释放图像后,内存暴涨的解决办法
时间:2015-01-27 19:25 来源: 我爱IT技术网 作者:小搜
做的一个项目中,大量的创建和释放了TBitmap,运行一段时间后发现内存暴涨,偶尔的还会出现OutOfResource异常。
分析来分析去,最后终于发现是因为位图释放不正确造成的。
原来的释放方法
freeandnil(bmp);
修改后的释放方法
bmp.freeImage;
freeandnil(bmp);
改过之后问题就解决了
注意:位图不同过freeImage方法释放的问题,用FastMM是检测不出来的。
分析来分析去,最后终于发现是因为位图释放不正确造成的。
原来的释放方法
freeandnil(bmp);
修改后的释放方法
bmp.freeImage;
freeandnil(bmp);
改过之后问题就解决了
注意:位图不同过freeImage方法释放的问题,用FastMM是检测不出来的。
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
