2010-06-25 139 views
2

我已经将我的iPhone SDK从3.1.2升级到4.在以前版本中开发的应用程序运行良好,但我只有一个问题。iPhone SDK 3.1.3升级到iPhone SDK 4 ApplicationWillTerminate和dealloc未被调用

当我关闭应用程序时,它不会调用应用程序终止和释放任何东西。当我点击主页按钮应用程序退出,但是当我再次打开时,它会打开我准确离开它的位置。

是否有其他人有这个问题,如果是的话你是如何解决这个问题的?

感谢

回答

4

你所看到的是所有sdk4应用程序都能执行的节省状态的多任务处理。它不会调用这些方法,因为你的应用程序没有终止,iOS只是保存状态并将其推送到后台。如果你注意到,当你现在点击home按钮时,调试器也不会解除绑定。如果您查看新的sdk文档,应用程序进入背景时会有方法,这听起来像您想要移动“willTerminate”方法中的代码的位置。

编辑:下面是这些方法

applicationDidEnterBackground:

applicationWillResignActive:

+0

这是否意味着我要离开它,因为它是文档,它是多任务的准备。另一个快速的,如果用户真的想要如何退出应用程序? – Leo 2010-06-25 20:15:45

+1

苹果建议您随时随地关闭应用程序(如果设备内存不足),则会在您的应用程序进入后台时执行所有清理并保存过去一直保存在您的willTerminate中的内容。但是,事实上,任何使用4.0 sdk编译的任务都是多任务(状态保存)准备好的。 用户并不是真的应该考虑手动关闭应用程序,但如果您好奇,双击主页按钮,请按住其中一个图标,然后单击红色减号。 – ACBurk 2010-06-25 21:24:25

1

在猜测,我会说,你的应用是终止,但目前在后台呆在一起。当内存变得稀缺时,它会在3.x天内终止。