如何判断iPhone应用程序是否通过背景启动
-
15-09-2020 - |
题
我的应用程序使用nsuserdefaults来存储一些值,以便它可以在应用程序更新时恢复它们,或者是退出背景。Background自动保存我的整数值,但如果用户从启动器退出应用程序,则该数字也丢失,并且在进入后台时,我猜的ViewDidUnload方法也不会唤起。是否有一种方法可以随时卸载,我可以在任何时候保存nsuserdefaults。此外,ViewDidload方法具有相同的问题,它不会从背景中唤起。这是什么样的?
p.s。到目前为止,我的应用程序需要保存的唯一数据是屏幕上的int。
更新:UIApplicationDidenterbackgroundNingNotification与您的建议很好!
解决方案
您无法在最终被杀死之前保存数据,但您可以在 applicationdidenterbackground:应用程序委托。
还有applicationDidBecomeActive:但没有理由从那里加载你的保存数据,因为它从背景中的应用程序调用时,数据将被保留任何方式。
其他提示
您无法判断您的应用程序是否从背景中启动,至少它目前如何设置,因为您的应用程序代理将获得相同的事件序列,如果它从跳板启动。
作为joost说,您应该保存您需要恢复应用程序内部的状态的任何内容;基本上,您应该假设这是您的应用程序在邪恶的过程收割机被无情地杀死之前的最后消息。
您应该查看 wwdc 2010会话视频,具体而言,会话105 - 在iPhone OS上采用多任务处理,第1部分进行彻底解释。
不隶属于 StackOverflow