【发布时间】:2013-01-14 09:20:02
【问题描述】:
下面的代码在分析时显示了内存泄漏。
ContentViewController *dataViewController;
dataViewController = [[ContentViewController alloc]initWithNibName:@"ContentViewController" bundle:nil];
dataViewController.DocumentPath = [self.modelArray objectAtIndex:index];
return dataViewController;
我该如何解决这个泄漏,任何想法请帮助我。
【问题讨论】:
-
使用ARC(自动引用计数)
-
您应该提供更多代码;具体来说:你如何处理返回值?
-
当有人问如何解决内存泄漏时,告诉他们只使用 ARC 就像告诉一个游泳池有泄漏的人只使用另一个没有泄漏的游泳池。你没有告诉他们如何解决他们遇到的问题。您是在告诉他们花费时间、资源和精力来做出不会教育他们的改变。
-
@AnoopVaidya 不同意.. 不使用 ARC 没有任何问题,只要您了解手动内存管理概念。对于那些努力学习/应用手动内存管理概念并在此基础上编写出色应用程序的老派开发人员来说,ARC 并没有提供任何新的或有吸引力的东西。
-
@AnoopVaidya 这完全无关紧要。无论您驾驶的是 Wright Brothers 飞机还是 Concord 飞机,了解飞机的工作原理都非常重要。仅仅因为协和为您自动执行操作并不意味着您不应该了解使飞机保持在天空中的物理概念。了解如何使用 Obj-C 的内存管理非常有用,即使在使用 ARC 时也会对您有所帮助。有些代码区域不能使用 ARC,或者可能需要特殊的桥接注意事项,并且了解手动内存管理的工作原理在这些情况下非常有用。
标签: iphone ios objective-c ipad memory-leaks