后台保持

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 当iphone应用程序进行网络编程时,切到后台后,socket连接会断掉,ios的设计就是这样。 但是好在appl...
    stonl阅读 4,744评论 2 2
  • 项目中需求所需,遇到这个问题,进行以下解决: 使用NSTimer的时候,发现每次APP进入后台,或者屏幕休眠后,N...
    MissLu16阅读 1,386评论 1 0
  • IOS开发之----详解在IOS后台执行 文一 我从苹果文档中得知,一般的应用在进入后台的时候可以获取一定时间来...
    dongfang阅读 1,405评论 0 7
  • 文一 我从苹果文档中得知,一般的应用在进入后台的时候可以获取一定时间来运行相关任务,也就是说可以在后台运行一小段时...
    Kloar阅读 1,536评论 0 1
  • 今夜,独守孤灯,正对着书卷陷入沉思。忽而,一阵初冬的寒风悄然而来,似一只幽灵,从深邃遥远的天际而来,慢慢的靠近...
    优雅的魔方阅读 200评论 0 0