簡體   English   中英

QFileDialog內存泄漏?

[英]QFileDialog memory leak?

我只是在寫一個小應用程序,其中我的功能看起來像:

QString askForDir()
{
    return QFileDialog::getExistingDirectory(this, "Choose directory", QString(""));
}

由於我已經添加了這個函數,我已經提到使用這個函數( askForDir() )后內存分配變得非常奇怪了。
我使用OS X Instruments應用程序來調試需求,所以這就是我所擁有的:
快照 峰值是askForDir()函數工作的時刻,我的意思是建立目錄樹。
在這些峰值之間有空間沒有發生任何事情,我的意思是app什么都不做,只是等待用戶的其他動作。
正如您所看到的,內存分配正在增長。 如果你想要數字:

at 30sec - 91 Mb
at 50sec - 113 Mb
at 1m15sec - 135 Mb


每次它以22 Mb速度增長

我試圖探索它並將askForDir()函數改為smth,如下所示:

QString askForDir()
{
    return "/Users/username/Desktop";
}

我上面所說的一切都消失了。 所以,我得出結論,問題出在QFileDialog中。


這是我正在使用的:

  • OS X 10.9.4
  • Xcode 5.1.1,Carbon
  • Qt 4.8.6

還有其他人有同樣的“問題”嗎?

看來,我明白了。
這不是泄漏,也不是錯誤。 如果在Windows XP上打開記事本,則內存使用量為4mb。 單擊file-> open,然后內存使用量增長到9mb。 關閉對話框,您可以看到內存使用量沒有減少(或只是8.9Mb左右)。 Windows顯然是在我們的背上緩存/創建東西(例如緩存)。 - >這是本機用法。


對於非原生的,它是一樣的。 第一次打開QFileDialog Qt庫會緩存一些圖標以供以后使用。 這是應用程序級別。 這使得在filedialog中導航,以及稍后再次打開對話框的速度更快。 當應用程序關閉時,一切都被釋放,這不是泄漏。


看起來在任何地方都發生了同樣的事情,所以,我認為,這個問題現在已經引起了人們的興趣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM