|
沙发
楼主 |
发表于 2016-11-28 18:33:06
|
只看该作者
- #include <QtGui/QApplication>
- #include <QWebView>
- int main(int argc, char *argv[])
- {
- QApplication a(argc, argv);
-
- QWebView* w=new QWebView();
- w->settings()->setObjectCacheCapacities(0,0,0);
- w->load(QUrl("http://www.sina.com.cn"));
- w->show();
- delete w;
- return a.exec();
- }
复制代码 木有QWebView运行内存是5M、加上QWebView内存是17M
- for(int i=0;i<1000;i++){
- QWebView* w=new QWebView();
- w->settings()->setObjectCacheCapacities(0,0,0);
- w->load(QUrl("http://www.sina.com.cn"));
- w->show();
- delete w;
- }
复制代码 这样运行之后、内存还是一样的!
我个人认为,QWebview加载了内容,就是已经放入内存了。就算你delete了,那部分内存还是被分配给你了。这时只能等系统回收了。而且这种情况,有点类似于以前的非Qt程序也会有这样的情况。你试试最小化后再看看内存占用数?
应该就是只有等自动回收、或者程序退出!
如果我程序一直不退出来,还是不是内存一直会增大?无法释放,到最后是不是系统崩溃???
|
|