UIBackgroundTaskIdentifier 进入后台后结束任务再挂起APP


App进入后台,(绝大部分情况下)会暂停执行代码,进入挂起状态。

有时候,某个任务进入后台后,我们希望它完成任务后再挂起。可以用UIBackgroundTaskIdentifier标记该任务,任务结束后再结束标记。标记之后的任务,在执行的时候,即使App进入后台,也会执行完成(大约有不超过10分钟的时间)后再挂起App。

       var counterTask: UIBackgroundTaskIdentifier?
        
        //开始标记为支持后台执行
        counterTask = UIApplication.shared.beginBackgroundTask(expirationHandler: { () -> Void in
            // 超过10分钟后,会进入到这里
        })
        
        
        //长时间执行任务,(进入后台后,大约有10分钟的执行时间,超过之后程序会挂起)
        //do something
        
        
        
        //结束标记
        UIApplication.shared.endBackgroundTask(counterTask)

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM