我使用std::vector<CvPoint>
来存储视频片段的边缘。
std::vector<CvPoint> vPt= floodfill(cvPoint(x,y), 255, 0, iplEdgeCpy, 100);
处理边缘时,我调用swap方法释放内存。
vector<CvPoint>().swap(myVector);
但是,内存仍未发布。它表明我的进程使用的内存量增加了。
任何人都可以帮助我或给我一些建议吗?
答案 0 :(得分:1)
取决于您的操作系统。在大多数操作系统下,该流程并未给出&#34;发布&#34;释放内存,它在一个空闲列表中挂起它,这样如果进程想要分配更多内存,它就已经拥有它并且不必去操作系统。
你如何测量内存大小?如果您担心泄漏,那么像valgrind这样的工具比查看进程的内存量更有用。