IOS Applicationdidentergroundground设置根视图控制器nil

时间:2012-10-04 17:44:20

标签: ios memory background appdelegate

我正在开发一个使用后台跟踪的IOS应用程序。为了最大限度地减少我在后台的内存占用,我想摆脱我的应用程序中可以重建的所有内容(除了包含位置管理器的类之外的所有内容)。

在我的每个viewcontrollers中,我已经使用:

实现了dealloc方法

NSLog(@“Destroyed:%@”,self);

现在,在app delegate方法“applicationdidenterbackground”中我设置了:

[self.window setRootViewController:nil];

这应该可以正常工作,因为这是我的视图控制器的唯一参考,但是,当我运行应用程序并按下主页按钮时没有任何反应。直到我将应用程序带回前台,我才收到视图已被破坏的消息。我还验证了它不仅仅是一个日志延迟,使用的工具我可以看到内存仍然被分配,直到应用程序返回到前台。 Applicationwillresignactive也是如此。

这种行为是正常的吗?如果是这样,当应用程序进入背景时,销毁不需要的对象的正确方法是什么?感谢

史蒂夫

0 个答案:

没有答案