• 3507阅读
  • 6回复

QTextEdit   QPlainTextEdit  内存泄漏 ? [复制链接]

上一主题 下一主题
离线cyberpunker
 

只看楼主 倒序阅读 楼主  发表于: 2019-11-01
往 QTextEdit   QPlainTextEdit 里边放很多 QString
内存暴涨,

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

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

在线20091001753

只看该作者 1楼 发表于: 2019-11-01

把它去掉就行了。

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

当你去掉它后,它就不再保存历史,这样才会真正的 clear
(づ ̄ 3 ̄)づ
在线liulin188

只看该作者 2楼 发表于: 2019-11-01
涨姿势了
https://wiki.qt.io/Qt_5.12_Release
https://wiki.qt.io/New_Features_in_Qt_5.12
https://wiki.qt.io/Qt_5.12.0_Known_Issues
https://www.qt.io/blog/qt-5.13.2-released
https://www.qt.io/blog/qt-creator-4.10.2-released
https://wiki.qt.io/Qt_5.12_Tools_and_Versions
离线cyberpunker

只看该作者 3楼 发表于: 2019-11-01
回 20091001753 的帖子
20091001753:[图片]
把它去掉就行了。
很多能编辑的控件,都有提供撤销操作的功能。
所以你的每一次修改,它都记录着,以便你撤销恢复。
....... (2019-11-01 12:00) 

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

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

我在Debian下试的。

在线20091001753

只看该作者 4楼 发表于: 2019-11-03

我特意测试了一下,点击 go 就疯狂写,再次点击就停止。最后点 clear 清空。

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

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

不至于内存一点不减。

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

下载
u1103.7z (2 K) 下载次数:8
(づ ̄ 3 ̄)づ

只看该作者 5楼 发表于: 2021-10-11
Re:QTextEdit   QPlainTextEdit 显示大文本
  QPlainTextEdit 显示几M的文本,CPU内存消耗就达到了几十M甚至上百M,有方法解决吗?
离线代码如诗

只看该作者 6楼 发表于: 2022-09-16
回 秋刀鱼很闲 的帖子
秋刀鱼很闲:  QPlainTextEdit 显示几M的文本,CPU内存消耗就达到了几十M甚至上百M,有方法解决吗? (2021-10-11 10:08) 

可以使用大文件内存映射,分块展示文本。
快速回复
限100 字节
 
上一个 下一个