我认为这可能会在很短的时间内得到解答,但仍然有一些未知的情况我想澄清。
我一直在寻找我的iOS应用程序之一的Background Fetch API。我从几篇文章中了解到,当OS决定检查后端服务器中是否有任何新数据时(不管我们设置了什么自定义提取间隔),都会调用fetchNewDataWithCompletionHandler
。文章和教程还说,只有当您的应用程序处于非 Activity /后台/挂起状态时,才会调用该应用程序,而当用户从应用程序切换器强制终止该应用程序时,则不会调用该应用程序。
但是我的问题是;
有两个非常重要的场景要测试,第一个场景是
您的应用在后台启动以获取新内容,第二个是
您的应用在后台恢复以获取新内容。
我认为第二种情况是应用程序从后台/暂停状态恢复。但是,第一种情况是什么?我们的应用将从哪个状态在后台“启动”以获取数据?从不运行状态?
有什么想法吗?
谢谢!!
最佳答案
第一种情况是您的应用当时未运行。 iOS决定要给您的应用程序一些运行时间,但是您的应用程序尚未启动。
如果最近重新启动了手机(因此您的应用从未启动过),或者如果您的应用由于其他用途需要内存而被杀死,则可能会发生这种情况。如果用户启动了许多其他大型应用程序(例如游戏),那么您的应用程序最终将被从内存中逐出。
如果用户使用应用程序切换器终止了该应用程序,则永远不会发生这种情况。如果用户杀死了该应用程序,则iOS将不会重新启动它,因为假定用户希望它保持死状态。