当前位置: 代码迷 >> QT开发 >> 图像显示的内存泄漏,该如何解决
  详细解决方案

图像显示的内存泄漏,该如何解决

热度:67   发布时间:2016-04-25 03:27:00.0
图像显示的内存泄漏
21.void Widget::processPendingDatagram()  
22.{  
23.    qint64 num = receiver->pendingDatagramSize();  
24.    cout << "receive size = " << num << endl;  
25.  
26.    QByteArray buffer;  
27.    buffer.resize(num);  
28.    receiver->readDatagram((char *)buffer.data(),num);  
29.  
30.    QFile file("test_save.jpeg");  
31.    if (!file.open(QIODevice::WriteOnly))  
32.             return;  
33.    file.write(buffer);  
34.    file.close();  
35.    img = new QImage("test_save.jpeg");  
36.    update();  
37.  
38.} 

在网上看到这段代码,是一个视频传输的程序,这个是客户端接受的程序,客户端执行,刚开始还没有问题,执行了一段时间后会死机,报出了一个std::bad_alloc错误,请问,这段程序哪里会产生内存泄漏呀,QT的东西是不是函数结束后自动销毁呀

谢谢了
------解决方案--------------------
35行申请内存后没释放,QT不是函数结束自动销毁,是当new的时候指定了父对象后,当删除父对象时会将该子对象删除。
  相关解决方案