应用程序在暂停时静默终止。 (用户在我的应用程序时按下锁定按钮)

时间:2017-08-31 21:31:08

标签: ios xcode appdelegate

我知道下面的文档但是在阅读之后我仍然不理解为什么它会终止我的应用程序。

  

应用程序必须随时准备终止,并且不应等待保存用户数据或执行其他关键任务。系统启动的终止是应用程序生命周期的正常部分。系统通常终止应用程序,以便它可以回收内存并为用户启动的其他应用程序腾出空间,但系统也可以终止行为不端或未及时响应事件的应用程序。   暂停的应用程序在终止时不会收到通知;系统终止进程并回收相应的内存。如果某个应用当前正在后台运行且未暂停,则系统会在终止之前调用其应用委托的applicationWillTerminate :.设备重新启动时,系统不会调用此方法。   除了终止您的应用程序的系统之外,用户还可以使用多任务UI显式终止您的应用程序。用户启动的终止与终止暂停的应用程序具有相同的效果。应用程序的进程被终止,并且没有通知应用程序。

我在后台只有一个应用程序,所以我无法想象它会终止我的应用程序,因为它需要更多内存。但是我注意到该文档还说应用程序可能会因行为不端而被终止,是否有人知道这究竟是什么意思?我在info.plist中遗漏了什么吗?我是否违反了某种强制我的应用程序被终止的协议?当它终止我的应用程序时,它似乎总是非常随机,它可能只有15分钟,也可能是1小时。

我也环顾四周,看到这个帖子

Will ios terminate the app running in background after a specific time?

我会理解如果我的应用程序要在后台终止,并且用户在此期间要做其他事情,但我不明白为什么当它从锁定按钮专门暂停时会被终止。特别是当我在iphone 6s上测试时,我的内存只有我的应用程序。

1 个答案:

答案 0 :(得分:0)

你看过崩溃日志了吗?当你不在屏幕上时,有一些东西会导致你在播放OpenGL时停止播放。

或者,也许您的应用中存在一个错误,导致其崩溃,系统实际上并未终止您。连接设备,转到Xcode> Window> Devices&模拟器并在崩溃时查看设备的设备日志。

这可能会给你一个线索。