我已将 NSLogs 放入我的所有类中,包括我的 UIApplicationDelegate 子类。我很好奇——也有点紧张——为什么当我按下主页按钮时我没有看到它们回响任何东西。我在 XCode 模拟器中运行。
由于 iPhone/iPad 一次运行一个应用程序,所以点击主页按钮不会丢弃正在运行的应用程序的所有痕迹吗?
谢谢,
道格
Chuck 是正确的,此时dealloc 无关紧要。如果您想在您的应用程序到期时做某事,请在您的应用程序委托类中实现:
- (void)applicationWillTerminate:(UIApplication *)application {
// goodbye...
}
当一个应用程序被终止时,它的内存就会被简单地释放。没有调用 Dealloc,它不会通过 go 或收取 200 美元。这是正常的和有意的。
你应该实现 -(void)applicationWillTerminate:(UIApplication*)application{ } 这个方法会在用户点击主页按钮时被调用。
您可能还想考虑已宣布的额外多任务支持。显然细节仍在 NDA 中,但推送 Home 并不一定会停止你的应用程序。
并考虑您的应用程序可能已经快速终止的各种情况(例如,如果有来电并且系统用完 RAM)。使用应用程序生命周期消息进行清理。