【问题标题】:What is the different between background task and background fetch correctly?后台任务和后台获取正确有什么区别?
【发布时间】:2017-10-29 13:20:42
【问题描述】:

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

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

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

这是我非常简短的理解。

【问题讨论】:

    标签: ios xamarin background-task background-fetch


    【解决方案1】:

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

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

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

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

    后台获取可以参考Apple doc!它指出,

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

    【讨论】:

    • 如果我使用 Xamarin 表单,并在应用程序仍处于活动状态但处于后台时使用计时器来安排数据接收。这会类似于后台任务吗?
    • 我对@9​​87654328@ 不太了解,但是你可以说它是一种后台任务!
    猜你喜欢
    • 2015-02-11
    • 2011-04-02
    • 2015-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-22
    • 1970-01-01
    相关资源
    最近更新 更多