7

我正在网上查看有关后台任务和后台获取的一些文档。

后台任务是在应用程序仍在运行时在后台执行的任务。当应用程序处于后台时,任务完成任务的时间有限,一旦完全进入后台,任务也必须结束。

后台获取是应用程序完全处于后台或非活动状态的地方,如果资源可用,该操作将被安排在某个时间点执行。

这是我非常简短的理解。

4

1 回答 1

7

是的,你的理解是对的!让我更深入地解释一下!

后台任务是在后台继续工作的能力。

例如,如果您正在播放audio并按下主页按钮,则音频可以在后台继续播放。位置也一样!您可以在后台不断更新位置。这只是示例,还有更多在后台工作的类型。你可以说这种东西作为后台任务。可以在后台模式下继续工作的任务称为后台任务。

您可以参考Apple 文档以了解 iOS 可以执行或允许的后台任务类型。现在background fetch完全不同了。如果您的应用程序在background or in inactive state. 系统会在可能的情况下自动在后台唤醒您的应用程序并执行一些操作。例如你可以说facebook。Facebook 有时间线,它应该定期有新数据,所以无论应用程序是否处于非活动状态,它都可以使用后台获取从服务器获取数据!因此,当用户打开应用程序时,他/她可以获得最佳的用户体验,因为内容已经下载background fetch

您可以参考Apple 文档进行后台获取!它指出,

需要定期检查新内容的应用程序可以要求系统唤醒它们,以便它们可以启动对该内容的获取操作。要支持此模式,请从 Xcode 项目的 Capabilities 选项卡的 Background mode 部分启用 Background fetch 选项。(您也可以通过在应用程序的 Info.plist 文件中包含 UIBackgroundModes 键和获取值来启用此支持。)启用此模式并不能保证系统会给您的应用程序任何时间执行后台获取。系统必须平衡您的应用程序获取内容的需求与其他应用程序和系统本身的需求。在评估了这些信息后,系统会在有好的机会时为应用程序留出时间。

于 2017-05-29T09:46:17.427 回答