如何在重新启动应用>
时知道应用是由用户还是iOS终止'用户'表示“通过双击主页按钮并按 - 按钮”。被用户杀死
'通过iOS'表示“应用程序变为后台运行状态,iOS终止应用程序10分钟后”
答案 0 :(得分:13)
如果您的应用处于暂停状态,则applicationWillTerminate
永远不会被调用,无论是谁杀死了应用iOS或用户。
您的applicationWillTerminate
只会在您的应用处于后台时被调用并且被杀死(无论是iOS还是用户),术语背景意味着它在后台运行而不是处于暂停状态。
applicationWillTerminate: - 让您知道您的应用已被终止。如果您的应用被暂停,则不会调用此方法。
以下是各州的表格
背景 - 应用程序在后台并执行代码。大多数应用程序会暂停进入此状态。但是,请求额外执行时间的应用程序可能会在此状态下保留一段时间。此外,直接启动到后台的应用程序进入此状态而不是非活动状态。有关如何在后台执行代码的信息,请参阅后台执行。
答案 1 :(得分:9)
如果系统资源不足,iOS可能会终止您的应用 - 如果发生这种情况,您会看到applicationWillTerminate
。
过去,如果用户杀死了应用程序(任务管理器,通过按钮双击,然后点击红色' - '),它就是SIGKILL,并且不会调用applicationWillTerminate。 2013年中期的一份报告表明这已经发生了变化,现在调用了applicationWillTerminate
。
你可以使用NSUserDefaults在applicationWillTerminate
中写一些状态位来注意这个函数被调用,大概是系统杀死而不是用户杀死。