可能重複:
Is it better to autorelease or release right after?另一個iOS的內存管理澄清自動釋放/發佈使用
(向前通知:請不要在ARC方面討論這個話題)
我們公司內部有一場辯論,主題是autorelease/early-release的用法。讓我解釋一下。
方案1:
NSArray *tempArray = [[NSArray alloc] init];
self.myRetainingProperty = tempArray;
[tempArray release];
方案2:
self.myRetainingProperty = [NSArray array]; // or [[[NSArray alloc] init] autorelease];
基本上這兩種情況都完全沒問題,但我會好奇,什麼是社區化的方式使用這些場景?我更傾向於「儘快發佈」(場景1) - 特別是在iOS可能很珍貴的內存中,但另一方面是一個自動發佈的對象(場景2),直到下一個runloop週期不會放太多強調內存佔用。
所以我的問題是你更喜歡哪一個,或者是否有Apple推薦的方法?
再一次:請讓我們忽略ARC的時刻:) ...
感謝。
我們是否也可以忽視這兩個例子都是毫無意義的,因爲它們創建了一個不可變的空數組? ;) – jrturton
一噸的問題 - http://stackoverflow.com/search?q=release+vs+autorelease – beryllium