2

我注意到在构建然后运行 ​​viewDidLoad 时只被调用一次。如果按下主页按钮并重新进入应用程序,viewDidLoad 不会再次执行。

我注意到的另一件事是,当您重新输入应用程序时,它会从您离开的地方开始。

这与旧 SDK 中的行为相同吗?这是否意味着当按下主页按钮时应用程序并没有真正退出?

4

3 回答 3

3

当您按下主页按钮时,调试将终止,因此您不会在任何版本的 SDK 的调试器控制台中看到任何来自 NSLog 的内容。您可以通过将 NSLog 放入来尝试此操作,viewDidAppear:即使应用程序仍在 iOS 4 的后台运行,它也应该被调用,但不会

于 2010-09-19T11:44:47.523 回答
3

与 iOS4.0 的一个不同之处在于,如果您按下主页按钮,您的应用程序可能不一定会终止。默认设置是它们仍将加载到内存中。这是iOS4.0新增的“多任务”功能。关闭它,您的应用程序应该每次都加载。

UIApplicationExitsOnSuspend是您的 plist 启用/禁用后台运行的关键。

于 2010-09-19T10:53:37.550 回答
1

在新的 iOS 4 中,iPhone 和 iPod Touch 上出现了多任务处理...
为此,当您使用 iPhone 模拟器调试或开发应用程序时,如果您按下主页按钮,您的应用程序将进入后台或多任务处理。比 Xcode 相信您的应用程序仍在使用中。

要调用 viewDidLoad 方法,您必须通过按两次主页按钮完全退出您的应用程序,然后在多任务栏中按住您的应用程序并点击 X。

于 2010-09-19T11:33:08.770 回答