我用 Qt 5.9.6 编写了一个简单的应用程序,我运行它并想知道使用的内存正在增长。在跟踪/调试我的应用程序后,我意识到了一些关于QPlainTextEdit 的信息!
内存泄漏是针对 qplaintextedit 作为我的应用程序中的暂存器,但每次使用后,我使用clear()函数将其清空以备下次使用。
但是那个暂存器使用的内存不会被释放!
我决定测试一下
我打开了一个新项目,其中包含一个QPlainTextEdit和一个QPushButton(使用 clear() 函数)。
- 运行后,使用的内存为
9.7MiB
- 在 QPlainTextEdit 中输入了一些长文本,使用的内存是
52MiB
- 按下 QPushButton(clear() QPlainTextEdit),预期使用的内存是
9.7MiB
,但它是52MiB
。
我试过delete、static allocation、dynamic allocation ...,有很多方法来管理它,但没有什么不同!
我在这里找到了一些东西,但它无法解决问题。
这是 QPlainTextEdit 中的错误还是我做错了?