void xccxds::on_pushButton_1_clicked()
{
QStringList list;
for (int i=0; i<5000000; i++) {
list << QString::number(i);
}
QMessageBox::question(NULL, "Test", "finish", QMessageBox::Yes);
list.clear();
QMessageBox::question(NULL, "Test", "finish", QMessageBox::Yes);
}
以上就是程序的全部。这里引起两个问题:
1. 每次点击按钮后,程序使用内存会上升100K~2M内存不等,只增加而不减少。这样如果多次点击的话,会造成内存累计十分可观,所以必须解决这个问题,可这个程序的问题出在哪里呢?
2. 以上程序的两个QMessageBox和手动执行list.clear()语句纯粹是为了让各位感受时间的,去掉的话,问题1仍然存在。但是此程序在VC2010 release下编译,list.clear()运行时间需要长达30秒以上,而MingW release只需要不到1秒,这是为什么呢?