查看完整版本: [-- QTextEdit   QPlainTextEdit  内存泄漏 ? --]

QTCN开发网 -> Qt基础编程 -> QTextEdit   QPlainTextEdit  内存泄漏 ? [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

cyberpunker 2019-11-01 11:04

QTextEdit   QPlainTextEdit  内存泄漏 ?

往 QTextEdit   QPlainTextEdit 里边放很多 QString,
内存暴涨,

然后clear,
内存还是不释放,

有啥好办法把?要在界面显示log


20091001753 2019-11-01 12:00
[attachment=21008]
把它去掉就行了。

很多能编辑的控件,都有提供撤销操作的功能。
所以你的每一次修改,它都记录着,以便你撤销恢复。

当你去掉它后,它就不再保存历史,这样才会真正的 clear

liulin188 2019-11-01 16:39
涨姿势了

cyberpunker 2019-11-01 17:15
20091001753:[图片]
把它去掉就行了。
很多能编辑的控件,都有提供撤销操作的功能。
所以你的每一次修改,它都记录着,以便你撤销恢复。
....... (2019-11-01 12:00) 

没用,
我用来显示日志,
一个日志30MB,
显示出来,内存能涨好几百MB,
clear 掉内容,内存也是不能完全释放,一直占用着,

你用例子中的 application 试下就能看到。

我在Debian下试的。


20091001753 2019-11-03 15:46
[attachment=21020]
我特意测试了一下,点击 go 就疯狂写,再次点击就停止。最后点 clear 清空。

程序打开后,7.8MB
狂写达到 100MB 后,停止并清空。

在 UndoRedo 开启的情况下,25MB
关闭的情况下,16MB

不至于内存一点不减。

当你的程序出现内存泄露之后,应该首先是怀疑自己写的代码部分,有问题。
而不是首先怀疑 Qt 的代码有问题,更何况 QWidgets 已是久经考验的。

下载
[attachment=21019]

秋刀鱼很闲 2021-10-11 10:08
  QPlainTextEdit 显示几M的文本,CPU内存消耗就达到了几十M甚至上百M,有方法解决吗?

代码如诗 2022-09-16 18:08
秋刀鱼很闲:  QPlainTextEdit 显示几M的文本,CPU内存消耗就达到了几十M甚至上百M,有方法解决吗? (2021-10-11 10:08) 

可以使用大文件内存映射,分块展示文本。


查看完整版本: [-- QTextEdit   QPlainTextEdit  内存泄漏 ? --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled