iphone - iOS 应用暂停时设置变量

标签 iphone ios ipad suspend

在我的应用程序中,我使用 GCD 全局队列来执行一些任务。通常我的应用程序在后台模式下运行 10 分钟(GCD 工作正常,@perfomselector 也工作正常)。之后没有任何运行。

我的问题是,

  • 苹果是不是总是允许应用程序在后台模式下执行代码 10 分钟?

  • 应用程序是否(总是)在这 10 分钟后暂停?

  • 当应用程序被挂起时,是否有任何可能的方法来设置变量?(我在一些研究过的应用程序被挂起时不会通知)

  • 有什么方法可以检查 GCD 的状态(是否已暂停)

最佳答案

苹果是不是总是允许应用程序在后台模式下执行代码 10 分钟?

-> 正在过渡到后台的应用程序可以请求额外的时间来完成任何重要的最后一刻任务。要请求后台执行时间,请调用 UIApplication 类的 beginBackgroundTaskWithName:expirationHandler: 方法。使用应用程序对象的 backgroundTimeRemaining 属性查看有多少时间可用。

应用程序是否(总是)在这 10 分钟后暂停?

-> 我认为没有像 10 分钟这样的限制。该设备仅提供有限的时间在后台执行任务。

当应用程序被挂起时,是否有任何可能的方法来设置变量?(我在某些地方研究过应用程序在挂起时不会通知)

-> 否。当应用程序处于后台但未执行代码时。系统会自动将应用程序移至挂起状态,并且在此之前不会通知它们。 backgroundTimeRemaining 属性可能有助于获取执行某些背景任务的剩余时间。

关于iphone - iOS 应用暂停时设置变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19113374/

相关文章:

ios - Xcode 5 中 libzbar.a 的链接器错误

ios - 存储 iPad/iPhone 应用程序数据的最佳方式

ios - 如何在 Apple Silicon ('M1' ) 上构建 Google Analytics SDK 使其在 Xcode Simulator 中运行?

ios - 有没有办法在 .sks 文件中布局我的整个关卡,但只加载当前可见的内容?

iphone - supportedInterfaceOrientations - 支持 iOS6 和 iOS5

ios - Retina iPad 上 iOS 7 中的 WebKit 中的框阴影传播错误

iphone - iOS 中带分页的 UICollectionView 的页数

iOS - UIScrollView 从半屏到全屏

iphone - 使iOS中的过渡动画持续时间更长

iphone - 在 prefix.pch 中确定设备类型