得到了怪異的事情發生了......我有一個非常複雜的UIViewController子類,其中我加載通過NIB文件。 我簡單地做下面推的觀點:的UIViewController不釋放內存在第一時間
SecondViewController2 *secV = [[SecondViewController2 alloc] initWithNibName:@"SecondViewController2" bundle:nil];
self.secondViewController2 = secV;
[secV release];
[self.navigationController pushViewController:secondViewController2 animated:YES];
[secondViewController2 release];
secondViewController2 = nil;
正如你可以看到我發佈secondViewController2。
事情是,當我第一次執行它時,雖然在secondViewController2中調用了dealloc方法,但我仍然在儀器中觀察到一個額外的2MB似乎並沒有被釋放。沒有任何泄漏,我已經檢查過。
當我執行以下動作的所述第二,第三,第四時間等的dealloc獲取調用和我不遵守在存儲器的任何添加。僅憑這一點,我就不會在我的代碼中執行錯誤,因爲相同的代碼正在第一次,第二次第三次運行,但只有第一次大約2MB纔會被釋放。正如我聲明dealloc secondViewController2仍在運行!
有什麼想法?蘋果的機制是否存在缺陷?
更好的嘗試*斜體*或**大膽**或***兩個***代替所有大寫。此外,'格式化代碼'。 – 2012-12-23 21:55:33
請您可以顯示屬性secondViewController2的設置以及您正在使用的ivar和綜合。 – Fogmeister
什麼是雙分配好?你不能只推'secV'並釋放它嗎? –