0

我用 Qt 5.9.6 编写了一个简单的应用程序,我运行它并想知道使用的内存正在增长。在跟踪/调试我的应用程序后,我意识到了一些关于QPlainTextEdit 的信息

内存泄漏是针对 qplaintextedit 作为我的应用程序中的暂存器,但每次使用后,我使用clear()函数将其清空以备下次使用。

但是那个暂存器使用的内存不会被释放!

我决定测试一下

我打开了一个新项目,其中包含一个QPlainTextEdit和一个QPushButton(使用 clear() 函数)。

  • 运行后,使用的内存为9.7MiB
  • 在 QPlainTextEdit 中输入了一些长文本,使用的内存是52MiB
  • 按下 QPushButton(clear() QPlainTextEdit),预期使用的内存是9.7MiB,但它是52MiB

我试过deletestatic allocationdynamic allocation ...,有很多方法来管理它,但没有什么不同!

我在这里找到了一些东西,但它无法解决问题。

这是 QPlainTextEdit 中的错误还是我做错了?

4

1 回答 1

1

我认为这是Qt的背叛。

您可以运行 Qt 的 Appliction.exe 示例,它也有同样的问题。

于 2019-11-01T09:28:30.347 回答