6

这听起来像是一个愚蠢的问题,但是随着 iOS 6 viewDidUnload 不再被调用,我对如何正确终止当前正在开发设备上使用 xCode 调试的 iOS 应用程序很感兴趣。按下下方的停止按钮是否足够?

在此处输入图像描述

当我按下那个按钮时究竟会发生什么?这是否相当于向应用程序发送停止信号,立即终止应用程序?是否调用了任何 dealloc 代码?我问的原因是,在使用启动/停止进行重复调试后,我遇到了一个问题,我的应用程序似乎存在随机内存问题(分析时未检测到泄漏)。

感谢您的想法!

4

2 回答 2

9

点击停止会立即杀死应用程序。没有调用 dealloc 或其他代码(特别是没有任何可能保存数据的应用程序委托方法),该过程刚刚终止。然后释放该进程使用的所有内存,当您重新开始时,您将从头开始。

这不太可能是“随机记忆”问题的原因。如果您可以提供有关您正在经历的症状的更多详细信息,那么可能还有更多要说的。

模拟用户可能会做什么的最好方法是点击主页按钮,然后停止该过程。这不会终止您的应用程序,但无论如何您应该在进入后台时处理所有必要的事情。

于 2013-04-02T16:07:58.800 回答
3

ApplicationWillTerminate一旦应用程序正确终止,就会被调用。如果单击停止按钮,您的应用程序将被终止,并且在这种情况下您可能不会跟踪任何方法调用。由于没有viewDidUnloaddealloc方法,但是您可以在不调用 super的情况下UIViewController定义自己的方法。deallocdealloc

你可以看看Application life Cycle。它可能会回答很多问题。

于 2013-04-02T16:32:11.607 回答