UIApplicationExitsOnSuspend和屏幕刷新

时间:2012-11-22 15:03:37

标签: ios background sleep exit

我有一个将UIApplicationExitsOnSuspend信息列表属性设置为TRUE的应用。 现在我注意到一个奇怪的问题。 我启动应用程序,让它在我的手机上运行,​​不要触摸我的手机。最终手机屏幕变暗,手机进入待机模式。当我唤醒手机时,我看到的是应用程序上显示的最后一个屏幕的屏幕截图。 (这似乎是根据规范,因为Apple文档说在将应用程序移动到后台的过程中,ios会拍摄应用程序的图片,并在应用程序恢复生命时将其用于转换)。如果我双击主页按钮以查看正在运行的应用程序,我看不到应用程序的实例正在运行。 (再次按预期工作,因为UIApplicationExitsOnSuspend设置为true)。

我的问题是,如何确保手机唤醒时,它会回到默认的主屏幕,而不是应用的图片?很明显,应用程序没有在唤醒时运行,因此在应用程序中我无法做任何事情来刷新屏幕。当应用程序进入后台时,我可以尝试退出,但苹果指南说,从不以编程方式退出!!。

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

你误解了发生的事情。如果您启用UIApplicationExitsOnSuspend,则表示您的应用会在应用转到后台时终止。如果你运行你的应用程序然后让手机闲置,直到屏幕变暗,你的应用程序仍然在前台,所以它不会终止。当设备进入待机模式时,当前应用程序仍然是当前应用程序。当您唤醒设备时,您没有查看应用程序的快照,而是在查看正在运行的应用程序。此时双击“主页”按钮不会显示您的应用,因为您的应用是当前正在运行的应用。

如果您返回主屏幕或切换到其他应用,您的应用将被终止。但它不会因为设备进入待机模式而终止。

如果您希望应用程序在设备唤醒时返回其主屏幕,则需要使用UIApplicationDelegate applicationDidBecomeActive:方法放置代码以重置用户界面。