【发布时间】:2010-12-23 00:19:00
【问题描述】:
我有一个非常简单的代码来显示一个模态控制器(nextController 是一个类成员):
nextController = [[InstructionsScreen alloc] initWithNibName:@"InstructionsScreen" bundle:nil];
[self presentModalViewController:nextController animated:YES];
[nextController release];
然后当控制器应该隐藏时:
[self dismissModalViewControllerAnimated:YES];
nextController = nil;
一切正常,但当我运行仪器对象分配时,它显示在关闭模态控制器后,它分配的内存没有被释放。这成为一个问题,因为当我显示几个控制器时,内存已经结束了......
谁能给我一些线索? Clang 没有发现任何问题,所以我遇到了内存限制,因为被解雇的控制器的内存不会被释放。
编辑:到目前为止,我发现它似乎是 Apple 产品中某处的泄漏。重现方式:XCode -> 使用模板“Utility application”创建新项目。不要自己编写任何代码。只需创建一个新的实用程序应用程序并使用“对象分配”运行它,选择查看“已创建且仍在运行”。现在翻转模态控制器几次 - 你会看到分配的内存只会在每次模态控制器出现和消失时增长和增长......
【问题讨论】:
标签: cocoa-touch memory-management model-view-controller