本文主要是介绍利用GCD使程序在后台较长久的运行,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在没有使用GCD时,当app被按home键退出后,app仅有最多5秒钟的时候做一些保存或清理资源的工作。但是在使用GCD后,app最多有10分钟的时间在后台长久运行。这个时间可以用来做清理本地缓存,发送统计数据等工作。
让程序在后台长久运行的示例代码如下:
// AppDelegate.h文件
@property (assign, nonatomic) UIBackgroundTaskIdentifier backgroundUpdateTask;// AppDelegate.m文件
- (void)applicationDidEnterBackground:(UIApplication *)application
{[self beingBackgroundUpdateTask];// 在这里加上你需要长久运行的代码[self endBackgroundUpdateTask];
}- (void)beingBackgroundUpdateTask
{self.backgroundUpdateTask = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{[self endBackgroundUpdateTask];}];
}- (void)endBackgroundUpdateTask
{[[UIApplication sharedApplication] endBackgroundTask: self.backgroundUpdateTask];self.backgroundUpdateTask = UIBackgroundTaskInvalid;
}
这篇关于利用GCD使程序在后台较长久的运行的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!