mfc-MFC中视频流内存泄漏问题

问题描述

MFC中视频流内存泄漏问题
void CHLDlg::OnBnClickedOpen()
{
// TODO: 在此添加控件通知处理程序代码
CFileDialog dlg(TRUENULLNULLNULLNULL);
pCapture = NULL;
if(dlg.DoModal()==IDOK)//
{
PathName = dlg.GetPathName();
FileName = dlg.GetFileName();
}
else
{
return;
}

c=(LPCSTR)PathName;pCapture = cvCaptureFromFile(c);video_fps=(int)cvGetCaptureProperty(pCaptureCV_CAP_PROP_FPS);hThread2 = CreateThread(NULL0Wavedisplay(LPVOID)this0NULL);

}

DWORD WINAPI CHLDlg::Wavedisplay(LPVOID lpParam)
{
CHLDlg *p=(CHLDlg *)lpParam;
p->SetTimer(1(int)(1000/p->video_fps)NULL);
return 0;
}

void CHLDlg::OnTimer(UINT_PTR nIDEvent)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
CDialogEx::OnTimer(nIDEvent);

if(1==nIDEvent){    Frame_Img = cvQueryFrame( pCapture );}

}

程序如上,变量都封装在CHLDlg类里面,析构函数里将它们一一释放,为什么程序运行后内存一直以每秒8kb的速度上升?

时间: 2024-11-02 07:59:18

mfc-MFC中视频流内存泄漏问题的相关文章

调试内存泄漏的应用程序: 发现并防止托管代码中出现内存泄漏

本文讨论: 理解托管应用程序中的内存泄漏问题 .NET 应用程序中所用的非托管内存 帮助 .NET 垃圾收集器发挥应有功效 本文使用了以下技术: .NET Framework 目录 .NET 应用程序中的内存 检测泄漏 堆栈内存泄漏 非托管堆内存泄漏 "泄漏"托管堆内存 总结 一提到托管代码中出现内存泄漏,很多开发人员的第一反应都认为这是不可能的.毕竟垃圾收集器 (GC) 会负责管理所有的内存,没错吧?但要知道,垃圾收集器只处理托管内存.基于 Microsoft .NET Framew

浅析Node.js中的内存泄漏问题

  这篇文章是由Mozilla的Identity团队带来的 A Node.JS Holiday Season系列文章的首篇,该团队上个月发布了 Persona的第一个测试版本.在开发Persona时我们构建了一系列的工具,包括了从调试,到本地化,到依赖管理以及更多的方面.在这一系列的文章中我们将与社区分享我们的经验和这些工具,这对任何想用node.js建立一个高可用性服务的人都很有用.我们希望您能喜欢这些文章,并期待看到您的想法和贡献. 我们将从一篇关于Node.js的实质性问题:内存泄漏的主题

分析Python中的内存泄漏

  分析Python中的内存泄漏 引子 之前一直盲目的认为 Python 不会存在内存泄露, 但是眼看着上线的项目随着运行时间的增长 而越来越大的内存占用, 我意识到我写的程序在发生内存泄露, 之前 debug 过 logging 模块导致的内存泄露. 目前看来, 还有别的地方引起的内存泄露. 经过一天的奋战, 终于找到了内存泄露的地方, 目前项目 跑了很长时间, 在业务量较小的时候内存还是能回到刚启动的时候的内存占用. 什么情况下不用这么麻烦 如果你的程序只是跑一下就退出大可不必大费周章的去查

在 JNI 编程中避免内存泄漏

简介: 本文详细论述如何在 JNI 编程中避免内存泄漏.论述了 JNI 编程中可能引发的明显的内存泄漏.本文的重点是阐述 JNI 编程中潜在的内存泄漏,希望读者通过本文对 Local reference 有更深刻的理解,了解 Local reference 表的存在,区分 Local reference 和局部变量,从而认识到 Local reference 可能引发的 native memory 内存泄漏 JNI 编程简介 JNI,Java Native Interface,是 native

浅析Node.js中的内存泄漏问题_node.js

 这篇文章是由Mozilla的Identity团队带来的 A Node.JS Holiday Season系列文章的首篇,该团队上个月发布了 Persona的第一个测试版本.在开发Persona时我们构建了一系列的工具,包括了从调试,到本地化,到依赖管理以及更多的方面.在这一系列的文章中我们将与社区分享我们的经验和这些工具,这对任何想用node.js建立一个高可用性服务的人都很有用.我们希望您能喜欢这些文章,并期待看到您的想法和贡献. 我们将从一篇关于Node.js的实质性问题:内存泄漏的主题文

Java中关于内存泄漏出现的原因汇总及如何避免内存泄漏(超详细版)_java

Android 内存泄漏总结 内存管理的目的就是让我们在开发中怎么有效的避免我们的应用出现内存泄漏的问题.内存泄漏大家都不陌生了,简单粗俗的讲,就是该被释放的对象没有释放,一直被某个或某些实例所持有却不再被使用导致 GC 不能回收.最近自己阅读了大量相关的文档资料,打算做个 总结 沉淀下来跟大家一起分享和学习,也给自己一个警示,以后 coding 时怎么避免这些情况,提高应用的体验和质量. 我会从 java 内存泄漏的基础知识开始,并通过具体例子来说明 Android 引起内存泄漏的各种原因,以

【转贴】了解 JavaScript 应用程序中的内存泄漏

转贴:http://www.ibm.com/developerworks/cn/web/wa-jsmemory/ 检测和解决内存问题 Ben Dolmar, 软件开发人员, The Nerdery   简介: 垃圾回收解放了我们,它让我们可将精力集中在应用程序逻辑(而不是内存管理)上.但是,垃圾收集并不神奇.了解它的工作原理,以及如何使它保留本应在很久以前释放的内存,就可以实现更快更可靠的应用程序.在本文中,学习一种定位 JavaScript 应用程序中内存泄漏的系统方法.几种常见的泄漏模式,以

JavaScript中的内存泄漏以及如何处理

随着现在的编程语言功能越来越成熟.复杂,内存管理也容易被大家忽略.本文将会讨论JavaScript中的内存泄漏以及如何处理,方便大家在使用JavaScript编码时,更好的应对内存泄漏带来的问题.   概述 像C语言这样的编程语言,具有简单的内存管理功能函数,例如malloc( )和free( ).开发人员可以使用这些功能函数来显式地分配和释放系统的内存. 当创建对象和字符串等时,JavaScript就会分配内存,并在不再使用时自动释放内存,这种机制被称为垃圾收集.这种释放资源看似是"自动&qu

软件测试中IE内存泄漏测试实例

测试某业数据门户进行功能测试时查看了一下任务管理器,发现IE进程竟然达到了423,145K,怀疑发生了内存泄漏,因此打算直接用IE的插件js memory leaks dector来检测一下,但是进行了一些可能引起内存泄漏的操作后,检测结果一直都很正常,并没有发现关于内存泄漏的地方,开发人员只好自己判断哪些IFRAM没有被销毁来优化系统,降低内存的使用. 下午的时候,查看以前的测试文档,发现用SIEVE来测试此类系统的IE内存泄漏时,通常在报表刷新的过程中,通常是会发生内存泄漏的,因此,用SIE