-2

以下行发生内存泄漏

NSURL *imageURL = [NSURL URLWithString:currentElementValue];

NSData *ndata =  [NSData dataWithContentsOfURL:imageURL];

UIImage *image1 = [[UIImage alloc] initWithData:ndata];

请帮我。

4

2 回答 2

1

它看起来像线

UIImage *image1 = [[UIImage alloc] initWithData:ndata];

没有好好清理。将其更改为:

UIImage *image1 = [[[UIImage alloc] initWithData:ndata] autorelease];

或者

UIImage *image1 = [UIImage imageWithData:ndata];

您的 imageURL ( NSURL) 和 ndata ( NSData) 是自动释放的,因此这应该可以清除您的错误。

于 2012-09-18T11:48:43.580 回答
-4

U 可以在函数结束时释放本地创建的对象,如下所示

  NSURL *imageURL = [NSURL URLWithString:currentElementValue];
  NSData *ndata = [NSData dataWithContentsOfURL:imageURL];
  UIImage *image1 = [[UIImage alloc] initWithData:ndata];
  [ndata release];
  [imageURL release];

这样每次分配的对象都会在该范围内释放

于 2012-09-18T12:34:02.810 回答