重新启动应用程序时如何知道应用程序是由用户终止还是由iOS终止>
'By user' 的意思是“通过双击 Home 按钮并按下 - 按钮”。被用户杀死
'By iOS' 表示“应用程序变为后台运行状态,iOS 10 分钟后终止应用程序”
重新启动应用程序时如何知道应用程序是由用户终止还是由iOS终止>
'By user' 的意思是“通过双击 Home 按钮并按下 - 按钮”。被用户杀死
'By iOS' 表示“应用程序变为后台运行状态,iOS 10 分钟后终止应用程序”
如果您的应用程序处于挂起状态,applicationWillTerminate
则无论谁杀死了应用程序 iOS 或用户,都不会被调用。
只有当您的应用程序处于后台并且它被杀死(由 iOS 或用户)时,您applicationWillTerminate
才会调用“后台”一词意味着它在后台运行而不是处于挂起状态。
只需阅读此参考
applicationWillTerminate:——让您知道您的应用程序正在被终止。如果您的应用程序被暂停,则不会调用此方法。
这是各种状态的表
背景 - 应用程序在后台并执行代码。大多数应用程序在被暂停的过程中会短暂进入此状态。但是,请求额外执行时间的应用程序可能会在此状态下保持一段时间。此外,直接在后台启动的应用程序会进入此状态而不是非活动状态。有关如何在后台执行代码的信息,请参阅后台执行。
如果系统资源不足,iOS 可能会终止您的应用程序 - 如果发生这种情况,您将看到applicationWillTerminate
.
过去,如果用户杀死了应用程序(任务管理器,通过按钮双击然后点击红色的“-”),它是一个 SIGKILL 并且不会调用 applicationWillTerminate。2013 年年中的一份报告表明这种情况已经改变,applicationWillTerminate
现在被称为。
您可以使用 NSUserDefaults 写入一些状态位,applicationWillTerminate
以注意该函数已被调用,并且可能是系统终止而不是用户终止。