5
當我需要臨時使用數組,什麼是它們之間的區別:自動釋放與釋放
1:
NSMutableArray *stuff = [[NSMutableArray alloc] init];
// use the array
[stuff release];
2:
NSMutableArray *stuff = [NSMutableArray array];
// use the array
3:
NSMutableArray *stuff = [[[NSMutableArray alloc] init] autorelease];
// use the array
我更喜歡2號,因爲它更短。有沒有充分的理由使用數字1或3?
謝謝!關於第1號內存立即釋放的好處。 – keronsen 2010-11-02 12:42:01
在iPhone上,您會發現大多數人都使用第一號,因爲內存會很快返回到運行時。事實上,蘋果建議儘可能避免自動釋放(在iPhone上)。 – JeremyP 2010-11-02 14:32:02
好的答案,保存最後一位。我敢打賭,在每次傳遞中創建新數組和刪除所有對象之間的區別是不可估量的,很有可能,刪除所有對象的速度將會微不足道。在任何情況下,直到您遇到量化的性能問題時才進行優化。 – bbum 2010-11-02 17:53:44