美文网首页
iOS 后台任务 BackgroundTask

iOS 后台任务 BackgroundTask

作者: 你声音很好听 | 来源:发表于2018-09-08 12:35 被阅读0次

iOS app在被用户切换到后台的时候就会处于挂起状态,如果这时你的应用正在进行一个任务中并且需要额外的时间来完成这个任务。你可以使用UIApplication的beginBackgroundTaskWithName:expirationHandler: 或者beginBackgroundTaskWithExpirationHandler:方法来申请一些额外的时间。

调用两个方法里面的任何一个方法来延迟系统暂停你的应用,并申请额外的时间来完成未完成的任务。注意,当你完成任务后,必须调用endBackgroundTask:方法来告诉系统任务完成了,可以暂停应用了。或者,当你的应用回到前台了,就必须要结束这个任务了。

官方文档

static UIBackgroundTaskIdentifier bgTask;

    bgTask = [application beginBackgroundTaskWithName:@"MyTask" expirationHandler:^{

        // Clean up any unfinished task business by marking where you

        // stopped or ending the task outright.

        [application endBackgroundTask:bgTask];

        bgTask = UIBackgroundTaskInvalid;

    }];

    // Start the long-running task and return immediately.

    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{

        // Do the work associated with the task, preferably in chunks.

        [application endBackgroundTask:bgTask];

        bgTask = UIBackgroundTaskInvalid;

    });

相关文章

  • iOS 后台任务 BackgroundTask

    iOS app在被用户切换到后台的时候就会处于挂起状态,如果这时你的应用正在进行一个任务中并且需要额外的时间来完成...

  • iOS app退到后台被杀相关问题

    前言 iOS提供了后台任务的机制,利用后台任务,App可以在用户退后台后有一小段时间进行一些必要的逻辑处理(经过测...

  • iOS后台任务崩溃处理方式

    iOS App 后台任务的坑 大多数 iOS App 在进入后台之后都会将一些关键任务封装到 Background...

  • iOS 后台任务

    Githup项目地址简书地址 一 iOS 应用的运行状态 Not running 应用还没有启动或者应用正在运行...

  • iOS 后台任务

    写之前先声明一下:OC是最好的语言!?iPhone向来是如此的流畅,就算是我手里如此垃圾的iPhone5S,1G内...

  • ios后台网络任务NSURLSession介绍

    ios后台任务 ios里,基于设备续航和安全方面的考虑,不在前台运行的app会被系统挂起,所有线程进入沉睡态,Io...

  • uap后台任务&&预警平台

    后台任务 【后台任务类型注册】 业务插件:对应的后台任务入口类nc.bs.**.**BGWorkPlugin 关键...

  • iOS后台任务beginBackgroundTaskWithEx

    1、标准写法 UIBackgroundTaskIdentifier backgroundUpdateTask;lo...

  • iOS 后台任务总结

    首先Apple官方为我们准备了三类后台任务执行的场景: 1.Background Tasks:APP 在前台时启动...

  • iOS开启后台任务

网友评论

      本文标题:iOS 后台任务 BackgroundTask

      本文链接:https://www.haomeiwen.com/subject/asbkgftx.html