使用block的可以让程序在后台较长久地运行.在以前,当应用被按Home键退出后,应用仅有最多5秒钟的时间做一些保存或清理资源的工作.但是应用可以调用UIApplication的beginBackgroundTaskWithExpirationHandler方法,让应用最多有10分钟的时间在后台长久运行.这个时间可以用来做清理本地缓存、发送统计数据等工作.
让程序在后台长久运行的示例代码如下:
//AppDelegate.h文件
@property (nonatomic, assign)UIBackgroundTaskIdentifier backgroundUpdateTask ;
//AppDelegate.m文件
- (void)applicationDidEnterBackground:(UIApplication *)application {
[self beingBackgroundUpdateTask];
//这里加上你需要长久运行的代码
NSLog(@"1");
[self endBackgroundUpdateTask];
}
- (void)beingBackgroundUpdateTask {
self.backgroundUpdateTask = [[UIApplication sharedApplication]beginBackgroundTaskWithExpirationHandler:^{
[self endBackgroundUpdateTask];
}];
}
- (void)endBackgroundUpdateTask {
[[UIApplication sharedApplication]endBackgroundTask:self.backgroundUpdateTask];
self.backgroundUpdateTask = UIBackgroundTaskInvalid;
}
网友评论