如果用户按下锁定按钮,我的应用程序就在前台,应用程序将从活动中退出,但仍应准备好在用户解锁手机时重新开始。大约5分钟后,我的申请最终被终止,当他们解锁手机时,他们又回到了主屏幕上。这是预期的行为吗?据我所知,在我开始一个新项目之前,我没有经历过这种情况。我在这里做错了什么或忘了某种设置?
答案 0 :(得分:0)
操作系统可以随时终止您的应用程序,为其他可能需要的进程释放资源或延长电池寿命。
“应用程序必须准备好在任何时候终止,并且不应该等待保存用户数据或执行其他关键任务。系统启动的终止是应用程序生命周期的正常部分。系统通常会终止应用程序,以便它可以回收内存并为用户启动的其他应用腾出空间,但系统也可以终止行为不端或未及时响应事件的应用。“
(Source: Apple Developer - "The App Life Cycle")
要最大程度地降低应用程序发生这种情况的可能性,请查看正在运行的进程,并在应用程序不在前台时执行停止/暂停操作的操作。
无论这种情况发生得多快,设计应用程序以处理可能在后台终止的情况非常重要,因为这可能会发生。保存状态和关键信息,以便在下次启动时,用户可以在他离开的地方继续。