I m 建造一个有几节不同内容的镜头,全部都是高压图像。 它与我的客户网站链接,并改用“高设计”类型。
其中一台是摄像机或图书馆上载的图像,还有一张显示th网的图表。 简言之,当Im处理UIImagePickerControl照相版时,我被打低记忆。 如果我 around过那部分 app,我偶尔也以“静态:10(SIGBUS)”在 de中无休止地坠毁。
在低记忆警报方面,我对信的这方面看法控制员向我的数据管理单州、通过一系列附庸数据进行的游轮,并杀死了最大的一片,即与每一条目有关的图像。 因此:
- (void)didReceiveMemoryWarning {
// Releases the view if it doesn t have a superview.
[super didReceiveMemoryWarning];
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Low Memory Warning"
message:@"Cleaning out events data"
delegate:nil
cancelButtonTitle:@"All right then."
otherButtonTitles:nil];
[alert show];
[alert release];
NSInteger spaceSaved;
DataManager *data = [DataManager sharedDataManager];
for (Event *event in data.eventList) {
spaceSaved += [(NSData *)UIImagePNGRepresentation(event.image) length];
event.image = nil;
spaceSaved -= [(NSData *)UIImagePNGRepresentation(event.image) length];
}
NSString *titleString = [NSString stringWithFormat:@"Saved %d on event images", spaceSaved];
for (WondrMark *mark in data.wondrMarks) {
spaceSaved += [(NSData *)UIImagePNGRepresentation(mark.image) length];
mark.image = nil;
spaceSaved -= [(NSData *)UIImagePNGRepresentation(mark.image) length];
}
NSString *messageString = [NSString stringWithFormat:@"And total %d on event and mark images", spaceSaved];
NSLog(@"%@ - %@", titleString, messageString);
// Relinquish ownership any cached data, images, etc that aren t in use.
}
你们可以看到,我试图把一把记忆空间放开(穷人)。 我知道,它没有告诉我,UIImages本身的实际记忆足迹,但至少给我SOME的数字,因此,我可以看到正在发生。 (用黑手法打听我说,国家行车监督记录系统的信息太高,我会向另一个国际动工组织发火,但认为记录这种信息更有用。)
简言之,在一小时的图像部分中 around光后,我ll起照相机,使低记忆探测器像三、四倍的快速继承。 从我上次看到的那次国家后勤记录仪产出如下:
2010-05-27 08:55:02.659 EverWondr[7974:207] Saved 109591 on event images - And total 1419756 on event and mark images
wait_fences: failed to receive reply: 10004003
2010-05-27 08:55:08.759 EverWondr[7974:207] Saved 4 on event images - And total 392695 on event and mark images
2010-05-27 08:55:14.865 EverWondr[7974:207] Saved 4 on event images - And total 873419 on event and mark images
2010-05-27 08:55:14.969 EverWondr[7974:207] Saved 4 on event images - And total 4 on event and mark images
2010-05-27 08:55:15.064 EverWondr[7974:207] Saved 4 on event images - And total 4 on event and mark images
之后不久,我们就离开了我们的SIGBUS。 因此,局势恶化。 现在我的具体问题是:
我看到这种情况发生的时刻,是UIPickerView的摄像器关闭的时候。 我点击了 but子,看上去了照片,看上去了“立克”的动画,仪器显示我的记忆足迹,从大约10米布到大约25米布,坐到我方革热观察台,在那里,使用率再次降至10或11米。 如果我们在没有记忆警告的情况下通过这一机制,我们就会重新 gold金,但很可能我们不这样做。 我能做些什么,使这种代价不高?
第二,我配备了NSZombies。 我正确地理解,这实际上阻止了记忆的释放? 我把我的希望置于一种不公平的检验环境吗?
第三,能否从方案上利用我的记忆? 或者至少是使用UIImage物体? 我鼓励docs,看不出任何事情。