Qt QNetworkAccessManager请求返回reply内存泄漏
生活随笔
收集整理的這篇文章主要介紹了
Qt QNetworkAccessManager请求返回reply内存泄漏
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
做項(xiàng)目http請(qǐng)求時(shí)發(fā)現(xiàn)內(nèi)存泄漏,原來QNetworkAccessManager請(qǐng)求返回的reply需要?jiǎng)h除,有兩種方法刪除:
1.在finish槽函數(shù)刪除reply,需要使用deleteLater而不是delete
QNetworkReply *reply = m_pManager->get(request);
connect(reply,SIGNAL(finished()),this,SLOT(finished()));
?
void finished()
{
if (reply)
?? ?{
?? ??? ?reply->deleteLater();
?? ?}
}
2.在事件循環(huán)后刪除
QNetworkReply *reply = m_pManager->get(request);
connect(reply, SIGNAL(finished()), &eventLoop, SLOT(quit()));
eventLoop.exec();?? ?
if (reply)
{
reply->deleteLater();
}
?
其實(shí)官方文檔也有說明,如下:
總結(jié)
以上是生活随笔為你收集整理的Qt QNetworkAccessManager请求返回reply内存泄漏的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python语言用法_python语言基
- 下一篇: docker安装ElasticSearc