美文网首页
C++学习笔记(十三) - Qt内存泄漏

C++学习笔记(十三) - Qt内存泄漏

作者: Savior2016 | 来源:发表于2017-05-22 15:16 被阅读199次

可以写点高深都的东西了,实际上也不高端,因为写的服务器程序,需要长时间运行,测试了一天一夜之后发现内存从开始的十几M变成了将近300M。在网上百度到一个Ubuntu下可以使用的内存泄露检测工具Valgrind,搞了一个多小时终于配置好可以使用了。
然鹅鹅鹅,我感觉它能检测到的泄露,基本上可以称之为错误了,其他的检测日志,含金量太低了。
最后还是使用老办法,一部分一部分的启动程序,用自带的System Monitor查看软件的内存,去做别的事情,一会儿回来看看有没有增加。其实在运行过程中,主要就是一些需要不断实例化和删除的类可能出现内存泄漏。我这里Mark的另外一种不太容易看出来的情况——QNetworkAccessManager致的内存泄漏。
这个是用来执行POST操作的,因为整个程序运行过程中都会使用,所以定义了全局指针,并且没有delete它,按说,这不算内存泄漏,因为我希望它常驻。实际上,即使是这样,它也会不断消耗更多内存。所以只能清除掉它。方法是捕获QNetworkAccessManager::finnished信号,然后执行deletelater。记得在需要的时候重新实例化QNetworkAccessManager。

相关文章

  • C++学习笔记(十三) - Qt内存泄漏

    可以写点高深都的东西了,实际上也不高端,因为写的服务器程序,需要长时间运行,测试了一天一夜之后发现内存从开始的十几...

  • iOS笔记-记录一次内存泄漏发现过程

    iOS笔记-记录一次内存泄漏发现过程 iOS笔记-记录一次内存泄漏发现过程

  • Java内存泄漏

    本文将会介绍: C++中的内存泄露 Java内存管理与垃圾回收 Java中的内存泄漏 一、C++中的内存泄露 在大...

  • 内存优化(一)内存泄漏

    1.内存泄漏 C/C++ 自己去分配内存和释放内存——手动管理malloc和free 1.1.什么是内存泄露:内存...

  • android 内存性能

    handle引起的内存泄漏 强引用资源引起的内存泄漏 线程导致的内存泄漏 系统学习安卓内存泄露 large hea...

  • Java虚拟机(一)——JVM内存分类

    传统程序语言:由程序员手动内存管理。C/C++,malloc申请内存和free释放内存,经常导致内存泄漏。 现代程...

  • 深入Android内存泄露

    深入内存泄露 android应用层的内存泄露,其实就是java虚拟机的内存泄漏.(这里,暂不讨论C/C++本地内存...

  • c++ 内存泄漏简单检测方法

    c++自带一个简单的内存泄漏检测代码,可以让你知道程序运行结束后,是否有内存泄漏。 简单的使用方法如下: 明显可以...

  • 吉比特sp专场面试

    一面 整体算挺简单的,有括号说明的是自己觉得没答好的。 c++什么情况会内存泄漏 有什么办法避免内存泄漏 shar...

  • Java学习笔记:内存泄漏

    背景 Java的内存管理由JVM完成,GC和并发、解释器是JVM主要的三个模块。不像C++需要自己来alloc内存...

网友评论

      本文标题:C++学习笔记(十三) - Qt内存泄漏

      本文链接:https://www.haomeiwen.com/subject/jsabxxtx.html