有关App的内存问题

时间:2010-12-08 07:46:48

标签: iphone uiview uiviewcontroller

我的应用程序往往会崩溃...... :(

我知道我在取消分配视图和对象方面一直犯错误。我只是想在最后解除内存中的内存,我怎样才能在代码之间管理内存......

此外,我的大多数viewcontrollers使用-(void)ViewDidLoad来创建视图。所以,在释放内存之前我也使用-(void)ViewDidUnload ???

如果是,那么请指导我如何使用它?

还有其他方法可以解决内存问题吗? :(

2 个答案:

答案 0 :(得分:1)

请记住viewDidLoad可以被多次调用,尤其是在内存不足的情况下,可以自动卸载视图以节省内存。

在这种情况下,您可以在分配对象之前检查对象是否为nil,或者在内存警告中取消分配它(在didReceiveMemoryWarning中,如果self.view.superview == nil则会自动释放对象。

您还应该在某些时候了解分析工具,或者至少知道泄漏分析器。在Xcode中转到Run -> Run With Performance Tool -> Leaks。这个工具可能会遇到一些问题,但是一旦你掌握了这个问题,你就会想知道没有它你是如何生活的(例如,如果你的主机名中有特殊字符,你需要重命名它)。

答案 1 :(得分:0)

如果您在.h文件中创建了任何对象并仅分配了一次,那么您应该释放该对象 在这种方法中:

- (无效)的dealloc {     [myObject release];     [super dealloc]; }

但是如果你在本地(.m)文件中创建了任何对象,那么就在不再需要它的地方发布它。

相关问题