【问题标题】:What happens with the code execution when app goes to the background?当应用程序进入后台时,代码执行会发生什么?
【发布时间】:2020-08-20 19:04:21
【问题描述】:

首先,如果您认为我的问题是愚蠢的,我想说声抱歉,但我对 iOS 真的很陌生,只想了解事情是如何运作的。我的问题是 - 当我按下 iOS 设备上的主页按钮时,代码执行会发生什么。想象这样一种情况,我有几个任务正在运行 - UI 在主线程上更新,后台线程从网络上下载一些东西,并且在某个时候(这些任务还没有完成)。那么代码执行会发生什么?它会暂停吗,例如执行只会在代码的某些行上停止,并且一旦应用程序回到后台就会继续?还是会发生其他事情?假设如果我将应用程序发送到后台然后将其唤醒,代码将以相同的方式/顺序执行,并且应用程序的行为方式与不将应用程序发送到后台的行为相同(假设当应用程序进入后台时我没有做任何特定的事情)?我试图在 Apple 文档中找到一些东西,但没有详细解释会发生什么。谢谢你的帮助

【问题讨论】:

    标签: ios swift ios-background-mode ios-lifecycle


    【解决方案1】:

    参考这个:https://developer.apple.com/documentation/uikit/uiapplicationdelegate/1622997-applicationdidenterbackground

    当一个应用进入后台操作系统冻结分配给你的应用的内存,这意味着在appdelegate调用didEnterBackground方法后你的任何代码都不会被调用。

    但是,在 ios 中有几种可用的后台模式,我们可以使用功能部分打开它们。当我们打开这些功能时,我们的应用程序仍然可以在 BG 模式下与这些服务交互。比如我们可以在后台开启音频功能,让我们的音频播放器在应用中运行

    【讨论】:

    • 希望有帮助
    猜你喜欢
    • 2019-03-11
    • 1970-01-01
    • 2012-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多