Vision中的Overlay函数和VI存在内存泄露问题嘛?



主要软件:
主要软件版本: N/A
主要软件修正版本: N/A
次要软件: N/A

问题:
每当我在循环中使用IMAQ的overlay函数和VI时,我会看到我的内存使用线性增长,是因为有内存泄露嘛?


解答:
不,这些函数不存在内存泄露。每次当需要在内存中的图像增加overlay的信息时,这些信息直接添加到该图像的内存上的,因此如果在循环中使用这些功能,新的overlay信息就会添加到图像的内存中,造成了内存使用的线性增长。下面就是会造成这种线性的函数和VI:

IMAQ Copy Overlay
IMAQ Overlay Arc
IMAQ Overlay Closed Contour
IMAQ Overlay Line
IMAQ Overlay Metafile
IMAQ Overlay Open Contour
IMAQ Overlay Oval
IMAQ Overlay Points
IMAQ Overlay Rect
IMAQ Overlay ROI
IMAQ Overlay Text

合理的使用方法是正确将overlay信息释放掉来保证对内存使用的控制。所有和图像相关的overlay信息可以通过IMAQ Clear Overlay函数全部清除。而IMAQ Dispose则可以将和图像相关的一切资源释放掉,包括overlay,ROI,数组,报告以及图像本身,通常在不需要图像的时候会将图像dispose。


相关链接:

附件:





报告日期: 03/08/2004
最近更新: 09/20/2011
文档编号: 377GDS45