2012-03-26 37 views
20

在我的應用程序中,我正在接收多個內存泄漏。該對象是Malloc 48個字節,並且始終源自負責的調用程序strdup。對象的歷史只顯示它是Malloced的,沒有其他的保留或釋放。 stacktrace不顯示任何我的代碼。相關的,我可以挑出唯一的位是:的OBJ-C:malloc的的內存泄漏48個字節的strdup在幀

10 UIKit _UIGestureRecognizerSendActions 
    9 UIKit -[UIScrollView handlePan:] 
    8 UIKit -[UIScrollView _endPanWithEvent:] 
    7 UIKit -[UIScrollView(Static) _startTimer:] 
    6 CoreFoundation CFNotificationCenterAddObserver 
    5 CoreFoundation _CFXNotificationRegisterObserver 
    4 libnotify.dylib notify_register_dispatch 
    3 libnotify.dylib notify_register_mach_port 
    2 libnotify.dylib token_table_add 
    1 libsystem_c.dylib strdup 
    0 libsystem_c.dylib malloc 

這似乎發生滾動,而在地圖上的觀點,但我不能確定如何繼續因爲沒有我的代碼在堆棧中被引用。我應該如何着手診斷這種泄漏?

如果需要任何進一步的信息,請讓我知道。

問候, 尼克

+0

有沒有這方面的發展? – bogardon 2012-04-06 18:28:04

+0

對不起,我只是開始記錄這一點。我儘可能地製作了一個簡單的測試應用程序,並且只包含一個帶有MKMapView的筆尖,並且能夠重現泄漏,所以我在Apple#11227065下面用Apple記錄了它。 – 2012-04-11 14:55:13

+0

這可能是一個已知的錯誤,在[這個SO線程] [1] [1]還提到:http://stackoverflow.com/questions/9762995/memory-leak-every-time-uiscrollview -is-released – pixelfreak 2012-04-13 07:45:29

回答

11

如果它是「唯一」的48個字節,所有的證據都指向了在系統架構框架(即分配不會暴露你的代碼),並有成千上萬的未10S他們,然後我(一)就不會擔心它過於太多,但我會(二)立即通過http://bugreport.apple.com/

提交錯誤請附上您的應用程序和指令的二進制至於如何重現問題。

+0

您好,快速回復,謝謝!它只有「48」字節,但它們加起來就是你使用地圖的次數越多。我之前沒有看到這個漏洞(應用程序進入其高級階段) - 是否值得在5.0或4.3模擬器上嘗試以確定它是否會產生相同的泄漏?感謝您的建議,無論如何! – 2012-03-26 21:53:44

+0

對於這些類型的東西,模擬器的行爲往往是不同的,足以使測試在那裏不相關。提交錯誤併發布#。這聽起來很有可能,就像一個[相對較小的 - 但每個字節計數]在框架中泄漏。 – bbum 2012-03-27 03:04:10

+0

您好寶貝,謝謝,我會盡量消除它可能來自我的代碼的任何可能性。我會盡快發佈#。 – 2012-03-27 08:05:39

1

我想我已經證明它在5.1推出。當我的應用程序處於活動狀態並且UIScrollView作爲使用iPhone模擬器5.1的活動視圖時,我可以通過按下主頁按鈕來每次在應用程序中複製內存泄漏。在iPhone模擬器5.0上運行的相同測試不會重現該錯誤。

希望這有助於

0

只是爲了確認,這的確是一個再次發生的問題,不只是你有問題。我已經看到這發生在表滾動以及UIScrollView。我已經在模擬器中進行了測試,並在iPad上分析了發佈版本。似乎是5.1中的一個常見問題,但我還沒有聽說過修復。我也同意,每次滾動48bytes可能會成爲一個問題。

0

它可能是由performselectorinbackground引起的,在@autoreleasepool {}塊內調用它

+0

好的,謝謝,我在這裏是新的,所以我不知道 – 2012-12-12 11:55:11

+0

但實際上我有完全相同的問題,這解決它 – 2012-12-12 11:56:56

+0

嗨,我也面臨同樣的問題..你如何解決這個問題。我的情況。它非常簡單的應用程序,但是當我推送和流行視圖控制器內存不釋放。在我的視圖控制器中,我使用scrollview和圖像。 – 2016-07-15 07:52:28