2011-05-26 52 views
1

爲什麼NSColorPanel會累積內存使用量?試試看:爲什麼NSColorPanel交互累積內存?

  1. 在Xcode
  2. 創建一個全新的基於可可應用程序中添加的單層NSColorWell到主窗口
  3. 運行的應用程序,並打開內存監視器
  4. 點擊(如活動監視器)。顏色池,彈出NSColourPanel
  5. 單擊並拖動鼠標在色輪上,一圈又一圈捻轉了一段時間,看着應用程序的內存使用情況

結果:記憶一直在緩慢而穩定地上升(約1分鐘4-5Mb)。在我的測試中,在攀爬4米左右後,它似乎遇到了某種障礙,之後它保持稍微穩定,或爬得更慢。這是垃圾收集打開。隨着它關閉,似乎沒有障礙;內存使用量穩步攀升。

這實際上並不是什麼大事。但它困擾我。我想知道內存中發生了什麼,如果在其他標準GUI對象中出現這種「泄漏」(?),開發人員可能沒有很好的控制權,並且這只是我對事物工作方式理解的一個缺陷。

我能想到的唯一可能就是應用程序存儲選定顏色的歷史記錄(無論出於何種原因),但這對我來說似乎不太可能。

+0

這不是我在蘋果代碼中看到的第一個內存泄漏。 – 2011-05-26 00:49:18

+0

絕對存在一個錯誤。我可以在這裏重現它。我在'NSColorPanel'中看到了一些已經(或已經)好幾年的bug。 (我從來沒有到處提及他們的錯誤,但我認爲他們可能是固定的)。 – NSGod 2011-05-26 01:09:31

+1

鬆開鼠標後內存量是否下降?另外你使用什麼統計數字來表示「內存容量」。 – 2011-05-26 03:50:59

回答

2

在bugreport.apple.com上存檔。

+0

完成。錯誤ID是9508348。在一個幽默的方面,我首先嚐試從Firefox訪問bugreport站點,並得到「發生錯誤。請通過將錯誤詳細信息發送至[email protected]將錯誤報告給Apple Inc.。「 – dphil 2011-05-26 17:23:27