比較下列2個片段:這個objective-c代碼是否會導致內存泄漏?
樣品1:
[[UIApplication shareApplication] openURL: [NSURL URLWithString:@"http://stackoverflow.com"]]
和樣品2:
NSURL *url = [[NSUrl URLWithString:@"http://stackoverflow.com"];
[[UIApplication shareApplication] openURL: url];
[url release];
是否樣品1原因內存泄漏? 是樣本2中的[url釋放]多餘?
如果發生內存泄漏,它有多糟?
我很抱歉,但這是錯誤的。除非使用以「alloc」或「new」開頭的方法或包含「copy」的方法創建對象,否則不應釋放對象。 URLWithString:返回一個自動發佈的NSURL,它將在runloop結束時自動釋放。 [內存管理編程指南](http://developer.apple.com/library/mac/#documentation/cocoa/conceptual/MemoryMgmt/MemoryMgmt.html) – 2011-02-05 17:51:51