如果想让应用程序进入后台之后继续执行代码,应该怎么办?

来源:互联网 发布:linux timer settime 编辑:程序博客网 时间:2024/05/25 23:58

在delegate中添加如下方法:


// 应用程序进入后台之后就会自动变为休眠状态,休眠状态是不会执行任何代码的

// 如果想让应用程序进入后台之后继续执行代码,必须申请成为一个后台程序, 开启后台任务

- (void)applicationDidEnterBackground:(UIApplication *)application

{

    //开启后台任务

    //注意: 虽然开启了后台任务,但是我们的应用程序随时都有可能被系统干掉

    //也就是说后台任务执行的时间是不确定的, 能执行多久由系统决定

    //只要系统的内容不足的时候, 系统就会干掉后台程序

    //系统在干掉后台程序的时候, 有一个优先级,也就是说会选择性的先干掉一些后台程序, 如果干掉这些程序之后内容不在紧张了,系统就不再继续干掉其它程序了

    self.identifier = [applicationbeginBackgroundTaskWithExpirationHandler:^{

        // 当后台任务被关闭的时候会回调这个block,在这个block中做一些结束的处理

        [applicationendBackgroundTask:self.identifier];

    }];

}


0 0
原创粉丝点击