使用QTcpSocket上网看博客时,发现有篇抄来抄去的博客提到QTcpSocket类的方法connectToHost会泄露内存,即使把调用这个方法的QTcpSocket实例delete掉,内存也不会释放。反复connectToHost会导致进程内存增长,必须控制connectToHost的使用次数!
于是我来亲自验证一下,仍然拿之前写的Socket_Test进行测试。增加一个按钮,槽函数代码如下:
QTimer *timer = new QTimer(this);
timer->start(50);
connect(timer,SIGNAL(timeout()),this,SLOT(Test()) );
槽函数Test的代码:
tcpSocket->abort();
tcpSocket->connectToHost(QHostAd