您的位置:首页 > 移动开发 > IOS开发

欢迎使用CSDN-markdown编辑器

2016-05-17 10:22 429 查看

App进入后台之后延长数据处理时间

在iOS开发中,当App进入后台之后,App只有很短的时间进行事务处理。有的时候系统提供的时间并不足以满足我们数据处理是的时长要求,这样我们为了能够将事务处理完整,就要额外的延长系统结束App的时间,让我们的应用有足够的时间处理未完成的数据,保证数据的完整性。在默认的情况系,App在进入后台后,有5秒左右的时间来处理未完成的任务,但是可能我们需要更长一点的时间。通过这个方法,最长可以申请到10分钟的时间用来后台处理相应的任务。具体代码如下:

@interface AppDelegate ()

@property (nonatomic, assign) UIBackgroundTaskIdentifier backgroundTask;

@end

@implementation AppDelegate

- (void)applicationDidEnterBackground:(UIApplication *)application {

[self beginBackgroundUpdateTask];

// code here to do what you want when application did enter background

[self endBackgroundUpdateTask];

}

/**
*  开始后台任务
*/
- (void)beginBackgroundUpdateTask {
self.backgroundTask = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{
[self endBackgroundUpdateTask];
}];
}

/**
*  结束后台任务
*/
- (void)endBackgroundUpdateTask {
[[UIApplication sharedApplication] endBackgroundTask:self.backgroundTask];
self.backgroundTask = UIBackgroundTaskInvalid;
}

@end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ios ios开发