当我的应用程序处于前台时,如果用户按下锁定按钮,则该应用程序将退出活动状态,但在用户解锁手机时仍应准备好再次启动。 大约5分钟后,我的应用程序最终被终止,当他们解锁手机时,他们又回到了主屏幕。 这是预期的行为吗? 据我所知,直到开始一个新项目,我才经历过这种情况。 我在这里做错了还是忘记了某种设置?

#1楼 票数:0

操作系统可以随时终止您的应用程序,以将资源释放给可能需要它们的其他进程,或节省电池寿命。

“应用程序必须随时准备终止,并且不应该等待保存用户数据或执行其他关键任务。系统启动的终止是应用程序生命周期的正常组成部分。系统通常会终止应用程序,以便可以回收内存并为用户正在启动的其他应用程序腾出空间,但是系统也可能会终止行为不当或未及时响应事件的应用程序。”

来源:Apple Developer-“应用程序生命周期”

为了最大程度地减少应用程序发生这种情况的可能性,请查看正在运行的进程,并采取措施在应用程序不在前台时停止/暂停它们。

无论这种情况发生的速度如何,设计应用程序以处理可能在后台终止的情况都是很重要的,因为这是可能发生的事情。 保存状态和重要信息,以便用户下次启动时可以从上次停止的地方继续。

  ask by TNguyen translate from so

未解决问题?本站智能推荐:

1回复

iOS 10.3.2在约5分钟后停止应用程序后台工作

我在应用程序中有一个计时器。 要重现此问题,用户应启动此计时器,然后将应用程序进入后台或关闭屏幕。 该应用程序最多可以运行5分钟,然后被系统杀死。 用户重新打开屏幕后,他们可以看到主屏幕。 如果要再次启动该应用程序,它将从头开始,而不是从关闭屏幕之前用户所在的位置开始。 我尝试在A
1回复

应用程序在后台运行3分钟

我有一个与服务器保持套接字连接的应用程序。 当应用程序处于后台(点击“主页”按钮)时,此连接断开,并且当用户返回时,重新连接大约需要5秒钟。 不太多,但仍然很烦人。 这可以完美地工作,但是如果应用程序要求后台执行时间,我认为我可以改善用户体验: 我在这里获得了3分钟的额外运行时
1回复

在后台运行应用程序10分钟

我正在制作流。 我希望该流在后台打开10分钟,然后在10分钟后关闭它。 我已经做到了 在这种情况下,该应用程序在背景中仅运行3分钟,然后断开连接。
2回复

如何知道应用是否被用户或iOS终止(10分钟背景后)

如何知道在重新启动应用时,用户或iOS是否终止了应用> “按用户”表示“通过双击主页按钮并按 - 按钮”。 被用户杀死 '通过iOS'意味着“应用程序成为后台运行状态,iOS终止应用程序10分钟后”
1回复

在后台运行2分钟后,iOS应用被“来自调试器的消息:由于信号9终止”而被杀死

我正在开发类似app的导航。 位置管理器可以在前景和背景中获取设备的当前位置,效果很好。 在前台,它可以正常工作多长时间。 但是,当应用程序进入后台模式时,最初的位置管理器运行良好。 但是大约2分钟后,应用程序退出,控制台显示错误消息:“来自调试器的消息:由于信号9而终止。”
5回复

iOS会在一分钟内杀死CallKit VoIP应用程序

我有一个VoIP应用程序,它使用CallKit和PushKit。 当应用程序关闭且iOS收到推送通知时,应用程序已在后台模式中唤醒,它通过CallKit应答,一切正常,大约50秒。 之后iOS用信号9杀死应用程序。我选择了下一个背景模式: 音频和voip ,但iOS想要更多的东西来继续无限的
1回复

与Watch通讯1分钟后,iOS应用进入睡眠状态-WatchKit

我正在使用sendMessage在iOS应用程序和watchKit之间实现简单的单线通信。 问题是-通信是连续的。 用户按下appleWatch上的按钮,在Phone上发生相同的操作,等等。不幸的是,经过两到三个操作-iOS应用停止响应。 正如论坛上的一些人所建议的那样-我已经实现了b
1回复

阻止应用程序终止?

我正在处理后台任务。 如果我按下主页按钮 ,应用程序将调用DidEnterBackground ,我可以在这里运行任何东西 - 好的 如果我按两次主页按钮并将应用程序滑出屏幕,最终确定它, WillTerminate将被调用 ,之后, 应用程序DIED ,我不能再做任何事了。