-1

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

4

1 回答 1

1

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

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

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

于 2020-05-06T02:21:20.173 回答