目前做的项目中因为某些table中的数据是定时刷新的,而且行数是不固定的。我以前做的每次都给new一个QTabelWidgetItem,结果每次都会申请内存。但是由于不能当次释放,所以只能考虑在下次刷新时删除上次的分配的内存。
可以用如下方法:
每次获得一个表的rowCount,然后遍历,通过ui.tableWidget->item(i,j)返回一个指针类型的item,文档里说了,如果没有设置item会返回0,所以我们就可以就行判断了,if(item) 然后delete item;就可以了。
这样就在每次刷新的时候释放了上次的申请的内存,从而避免内存不断增加下去。
本文介绍了一种在使用Qt的QTableWidget时有效管理内存的方法。针对定时刷新且行数不定的情况,提出了一种避免内存泄漏的策略:在每次刷新前删除上一次分配的内存。
3190

被折叠的 条评论
为什么被折叠?



