后台保持

2016-08-31  本文已影响20人  iOS_Coder

使用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;
}

上一篇下一篇

猜你喜欢

热点阅读