2014-07-01 19 views
5

Tôi chỉ viết một ứng dụng nhỏ trong đó tôi có chức năng mà trông giống như:Mất bộ nhớ QFileDialog?

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

Kể từ khi tôi đã thêm chức năng này, tôi đã đề cập đến việc cấp phát bộ nhớ trở nên khá kỳ lạ sau khi sử dụng chức năng này (askForDir()) .
Tôi sử dụng ứng dụng OS X Instruments để gỡ lỗi, vì vậy, đây là những gì tôi có:
Snapshot Đỉnh là những khoảnh khắc khi công việc chức năng xây dựng, nghĩa là xây dựng cây thư mục.
Giữa những đỉnh núi này có những khoảng trống không có gì xảy ra, ý tôi là ứng dụng không làm gì cả, chỉ cần đợi hành động khác từ người dùng.
Như bạn thấy phân bổ bộ nhớ đang tăng lên. Nếu bạn muốn số:

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


Mỗi lần nó phát triển tại 22 Mb

Tôi đã cố gắng để khám phá nó và thay đổi askForDir() chức năng để SMTH như thế này:

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

Tất cả tôi đã nói ở trên biến mất. Vì vậy, tôi kết luận rằng vấn đề là trong QFileDialog.


Đây là những gì tôi đang sử dụng:

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

Có ai cùng "vấn đề"?

+0

Qt 4.8.what? Sử dụng carbon hoặc ca cao? Với những vấn đề như vậy bạn phải rất cụ thể. –

+0

@KubaOber, 4.8.6, Carbon – tema

+0

Tôi đề nghị biên dịch lại qt cho ca cao và thử lại. Nếu điều đó vẫn thể hiện hành vi này, thì đó là lỗi và bạn sẽ phải gửi báo cáo lỗi. –

Trả lời

4

Dường như, tôi tìm ra.
Đây không phải là rò rỉ, không phải lỗi. Nếu bạn mở notepad trên windows xp, mức sử dụng bộ nhớ là 4mb. Nhấp vào tập tin-> mở và sau đó sử dụng bộ nhớ tăng lên đến 9mb. Đóng hộp thoại và bạn có thể thấy mức sử dụng bộ nhớ không giảm (hoặc chỉ khoảng 8,9Mb). Windows rõ ràng là bộ nhớ đệm/tạo công cụ trên lưng của chúng tôi (bộ nhớ đệm ví dụ). -> Điều này là dành cho mục đích sử dụng gốc.


Đối với người không phải là người bản địa, Điều này cũng giống nhau. Lần đầu tiên bạn mở thư viện QFileDialog Qt lưu trữ một số biểu tượng để sử dụng sau này. Đây là ở cấp ứng dụng. Điều này làm cho điều hướng trong trình đơn, cũng như sau này nếu bạn mở lại hộp thoại nhanh hơn nhiều. Nó không phải là một rò rỉ, khi ứng dụng được đóng tất cả mọi thứ được phát hành.


Có vẻ như điều tương tự xảy ra ở khắp mọi nơi, vì vậy, tôi nghĩ, câu hỏi hiện không còn quan tâm.

Các vấn đề liên quan