Dan*_*ark 3 grand-central-dispatch ios
我启动了一个方法,基本上是一个无限循环使用dispatch_queue_create然后dispatch_async(然后代码循环在调度块内).
循环运行完美.但是,当应用程序变为背景时,它会暂停.然后它在应用程序占用前台时重新启动.
使用- [UIApplication beginBackgroundTaskWithExpirationHandler:]方法启动后台任务.操作系统将给你10分钟,并在结束时调用expirationHandler块.
如果设备无法在后台运行代码,则此方法将返回UIBackgroundTaskInvalid,否则将返回必须使用的任务ID.
您可以(并且应该)通过调用 - [UIApplication endBackgroundTask]来尽快结束它;
您可以在块的开头开始一个任务,并在它结束时结束它,如果它是一个无限循环,只需在applicationWillResignActive方法中启动一个任务,然后在applicationDidBecomeActive上结束它.但请记住,您只有十分钟,您的应用需要更多时间来使用位置,音频或voip.
| 归档时间: |
|
| 查看次数: |
1177 次 |
| 最近记录: |