iphone App中的内存泄漏
Posted
技术标签:
【中文标题】iphone App中的内存泄漏【英文标题】:Memory leaks in iphone App 【发布时间】:2011-01-05 03:33:35 【问题描述】:我的应用程序已经完成了大部分工作。当我在模拟器上运行应用程序时,它工作正常,但是当我在设备上运行一段时间时,调试器显示一条消息为“程序收到信号 0”。我用仪器的帮助泄漏它显示泄漏。但我无法确定泄漏的确切位置。正在释放正在分配的每个对象。 例如,我提供了我的代码的一小部分:
if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary])
UIImagePickerController *picker=[[UIImagePickerController alloc] init];
picker.delegate=self;
picker.sourceType=UIImagePickerControllerSourceTypePhotoLibrary;
[self presentModalViewController:picker animated:YES];
[picker release];
// NSFileHandle *fileHandle = [[NSFileHandle alloc]initWithFileDescript
在上面的代码泄漏显示在 UIImagePickerController *picker=[[UIImagePickerController alloc] init];但我正在释放它。 有人可以向我提供有关泄漏的详细信息以及如何修复它们。在此先感谢。
【问题讨论】:
【参考方案1】:在这行代码中:
[self presentModalViewController:picker animated:YES];
self(父控制器)实际上保留了您的选择器,并且在父控制器明确解除它之前不会释放它。只要您的父控制器在代码中的某个时间点关闭此选择器,您就可以了。
【讨论】:
对不起,我不知道我是否正确理解了您的回答。是的,我正在以委托方法解雇选择器。仍然是同样的问题:(以上是关于iphone App中的内存泄漏的主要内容,如果未能解决你的问题,请参考以下文章
如何解决 xcode(仪器)中的 iPhone 应用程序内存泄漏