好吧,我是Qt开发的佼佼者,我有一个大问题。我的项目在Linux上使用嵌入式Qt,为此我非常关心用过的内存。 OK!
在我的代码中,我有一个QWidgets的堆栈,而不是我正在展示的。该堆栈有一个指向我的QWidgets的指针。在此之前,我只是隐藏了我的QWidgets并浪费了内存,我已经这样做了以快速打开我的QWidgets。现在,我正在删除QWidgets,并且总是将它们设置为不必要。
我的问题是,例如,当我运行我的项目时,使用的内存是21%,好的。当我打开第一个菜单时,内存使用了23%。但当我关闭它时,内存使用了21%。我的问题是:另外1%的使用在哪里?很奇怪,因为如果我再次打开菜单,将只使用1%。
似乎Qt将一些东西存储在缓存中以显示ui。
我看到了一些关于我的问题的话题,人们总是说Qt :: WA_DeleteOnClose或deletelater()信号。我试过使用这些解决方案,但没有和我合作。
有人可以帮帮我吗?我不明白发生了什么......