我正在将应用程序置于后台。
假设我不做任何事情来保持应用在后台运行,那么该应用将在5秒钟内进入暂停状态。对吧?
如果我再点击应用程序图标会发生什么?那不是应该触发didFinishLaunch
吗?它将使我回到上一个屏幕,并触发didbecomeActive
和willenterforeground
通知。我不会收到其他任何回调。对吧?
didFinishLaunch
。对吧?(我之所以问这些,是因为有时有时,将应用置于后台并再次点击应用图标(例如10分钟后),该应用正处于启动阶段。大多数只是回到上一个屏幕的时间)
我已经看过Will ios terminate the app running in background after a specific time?,但是并不能解决我想要的所有方面。
答案 0 :(得分:1)
它只会带我回到上一个屏幕,并触发didbecomeActive和willenterforeground通知。
对,如果您的应用没有在后台终止。
我不会收到其他任何回调。
不一定正确。例如,如果您是通过本地通知被召唤到前台的,那么您还会收到有关此事的事件。
假设没有重启手机,即使我在两次点击家中然后再点击应用程序图标之间有几个小时之间,第2点仍然是正确的。
不一定。该应用很可能会在后台静默终止。
它还能持久地重启设备但不强制重启吗?
绝对不是。设备关闭时如何运行应用程序?关闭应用程序会终止每个应用程序。
我要问所有这些问题,因为有时将应用置于后台并再次点击应用图标(例如10分钟后)后,该应用便处于启动阶段
这与时间无关。看门狗进程会不断合并挂起的应用程序,以寻找占用过多内存的应用程序,以便其他应用程序可以运行。如果您是其中一员,您一定不会感到惊讶。
您可以从头开始,也可以从悬浮状态恢复生命;这是iOS应用生活中最基本的事实!您只需要接受它即可。
但是您可以做很多事情来减少在后台被终止的可能性。在您的背景中放弃消耗内存的对象是列表中的第一位。