1

我已将 NSLogs 放入我的所有类中,包括我的 UIApplicationDelegate 子类。我很好奇——也有点紧张——为什么当我按下主页按钮时我没有看到它们回响任何东西。我在 XCode 模拟器中运行。

由于 iPhone/iPad 一次运行一个应用程序,所以点击主页按钮不会丢弃正在运行的应用程序的所有痕迹吗?

谢谢,
道格

4

4 回答 4

4

Chuck 是正确的,此时dealloc 无关紧要。如果您想在您的应用程序到期时做某事,请在您的应用程序委托类中实现:

- (void)applicationWillTerminate:(UIApplication *)application {
   // goodbye...
}
于 2010-04-21T02:46:04.240 回答
3

当一个应用程序被终止时,它的内存就会被简单地释放。没有调用 Dealloc,它不会通过 go 或收取 200 美元。这是正常的和有意的。

于 2010-04-21T02:06:25.023 回答
0

你应该实现 -(void)applicationWillTerminate:(UIApplication*)application{ } 这个方法会在用户点击主页按钮时被调用。

于 2010-04-21T04:59:23.063 回答
0

您可能还想考虑已宣布的额外多任务支持。显然细节仍在 NDA 中,但推送 Home 并不一定会停止你的应用程序。

并考虑您的应用程序可能已经快速终止的各种情况(例如,如果有来电并且系统用完 RAM)。使用应用程序生命周期消息进行清理。

于 2010-04-22T16:55:30.717 回答