2011-05-13 294 views
0

器材顯示我在下面的代碼模擬器泄漏,內存泄漏

UIBarButtonItem *connectButton = [[UIBarButtonItem alloc] initWithTitle:@"Connexion" style:UIBarButtonItemStyleBordered target:self action:@selector(pushViewController)]; 

    [self.navigationItem setLeftBarButtonItem:connectButton animated:animated]; 
    [connectButton release]; 

你看到任何泄漏?謝謝

+0

它報告什麼樣的泄漏? – 2011-05-13 20:10:25

+0

這段代碼看起來不錯 - 你確定這是內存泄漏的報道嗎? – occulus 2011-05-13 20:14:58

+0

泄漏對象:_NSCFType。負責任的圖書館:CoreGraphics。負責框架:CGTypeCreateInstanceWithAllocator – samir 2011-05-13 20:24:24

回答

3

泄漏向您顯示對象被分配的位置而不是其中對象被泄漏的位置

雖然兩者可能是相同的,但更容易發生對象泄漏是由於其他地方的額外保留或丟失釋放引起的。

+0

你有一個想法,爲什麼是這裏泄漏:self.navigationController.navigationBar.tintColor = [UIColor clearColor]; ?我已經在設備 – samir 2011-05-13 20:42:42

+0

中測試了這個,許多人在4.3中使用這個 – samir 2011-05-13 20:43:31

+2

漏報了假陽性;提交一個錯誤。 – bbum 2011-05-13 20:43:58

0

我沒有看到您發佈的代碼中有任何泄漏。這就是說,幾個問題:

  1. 你怎麼知道這是泄漏的地方?
  2. navigationItem的吸氣機會使用copy?如果是這樣,那裏可能會有泄漏。
+0

在儀器中的堆棧跟蹤中。我沒有聲明navigationItem使用副本,我剛剛在我的控制器中完成self.navigationItem – samir 2011-05-13 20:26:04

+0

和我有很多泄漏時,我這樣做:self.navigationController.navigationBar.tintColor = [UIColor clearColor]; – samir 2011-05-13 20:27:53

0

...在設備上?你應該在設備上檢查這個。在很多情況下,您都希望使用模擬器進行這種測試。這並不代表設備本身的行爲。我建議你在設備上測試一下,如果你仍然看到它回到這裏。

+0

你有一個想法,爲什麼這裏泄漏:self.navigationController.navigationBar.tintColor = [UIColor clearColor]; ?我已經在設備中測試過了。 – samir 2011-05-13 20:33:21