我的应用程序中的内存有问题。
当我启动它时,我的应用程序的文档和数据是 212KB
推送 ViewControler A 后,我在 TableView 中加载了许多来自 Facebook 的异步图像:
UIButton *friendPhoto = [UIButton buttonWithType:UIButtonTypeCustom];
[friendPhoto addTarget:self
action:@selector(friendPhotoWasClicked:)
forControlEvents:UIControlEventTouchUpInside];
[friendPhoto setFrame:CGRectMake(x, photoMargeY, photoSize, photoSize)];
// GET IMAGE ASYNC
NSURL *imageURL = [NSURL URLWithString:faceURL];
[friendPhoto setImage:[UIImage imageNamed:@"default"]
forState:UIControlStateNormal];
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0ul);
dispatch_async(queue, ^{
NSData *data = [NSData dataWithContentsOfURL:imageURL];
UIImage *image = [UIImage imageWithData:data];
dispatch_async(dispatch_get_main_queue(), ^{
[friendPhoto setImage:image
forState:UIControlStateNormal];
});
});
//}
[cell.contentView addSubview:friendPhoto];
并且完美地工作!此时,Documents and Data 10MB
但是在弹出 ViewController 并在 NSLog 中看到为 ViewController 调用 dealloc 之后,我的应用程序仍然有 10MB。我不会缓存图像。
为什么还有10MB?我该如何解决?