iOS 利用Block,让程序在后台长久运行

2017-03-31  本文已影响47人  奋斗的DevAmos

使用block的好处是可以让程序在后台较长久地运行.当应用被按Home键退出后,应用最后5秒钟的时间做一些保存或清理资源的工作.但是应用可以调用UIApplication的beginBackgroundTaskWithExpirationHandler
方法,让应用最多有10分钟的时间在后台长久运行.这个时间可以用来做清理本地缓存,发送统计数据等工作.

让程序在后台长久运行的示例代码如下:

//AppDelegate.h文件    后台运行

@property (nonatomic, assign) UIBackgroundTaskIdentifier backgroundUpdateTask;

// AppDelegate.m 文件

- (void)applicationDidEnterBackground:(UIApplication *)application {
// 在这里加上你需要长久运行的代码
}


//后台作业

- (void)beginBackgroundUpdateTask {

__weak typeof(self) weakSelf = self;

self.backgroundUpdateTask = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{

[weakSelf endBackgroundUpdateTask];

}];

}

// 结束后台作业

- (void)endBackgroundUpdateTask {

[[UIApplication sharedApplication] endBackgroundTask:self.backgroundUpdateTask];

self.backgroundUpdateTask = UIBackgroundTaskInvalid;

}



上一篇 下一篇

猜你喜欢

热点阅读