內存泄漏發生在下列行內存泄漏的NSData
NSURL *imageURL = [NSURL URLWithString:currentElementValue];
NSData *ndata = [NSData dataWithContentsOfURL:imageURL];
UIImage *image1 = [[UIImage alloc] initWithData:ndata];
請幫助我。
內存泄漏發生在下列行內存泄漏的NSData
NSURL *imageURL = [NSURL URLWithString:currentElementValue];
NSData *ndata = [NSData dataWithContentsOfURL:imageURL];
UIImage *image1 = [[UIImage alloc] initWithData:ndata];
請幫助我。
它看起來像行
UIImage *image1 = [[UIImage alloc] initWithData:ndata];
是不是被清理正確。更改此任:
UIImage *image1 = [[[UIImage alloc] initWithData:ndata] autorelease];
或
UIImage *image1 = [UIImage imageWithData:ndata];
你IMAGEURL(NSURL
)和NDATA(NSData
)被自動釋放所以這應該清理你的錯誤。
U可以釋放在函數結束時在本地創建的對象,如下面
NSURL *imageURL = [NSURL URLWithString:currentElementValue];
NSData *ndata = [NSData dataWithContentsOfURL:imageURL];
UIImage *image1 = [[UIImage alloc] initWithData:ndata];
[ndata release];
[imageURL release];
這樣每次分配的對象是釋放
你正在發佈自動發佈的對象ndata,你會崩潰 –
在這個例子中'NSData'和'NSURL'都是自動發佈的,不需要清理,因爲兩者都會導致崩潰。但是'UIImage'應該被釋放。 – CaptainRedmuff
是否使用ARC該範圍本身? – TheAmateurProgrammer
@theAmateurProgrammer:no – Anamika