Ios 在调用ApplicationIdentinterBackground之后,我还有多少时间?
我想向远程服务器发送一个时间戳,并等待成功的回调,如果远程服务器没有响应,则将时间戳存储在本地 这是我可以投入到Ios 在调用ApplicationIdentinterBackground之后,我还有多少时间?,ios,background-process,uiapplicationdelegate,springboard,Ios,Background Process,Uiapplicationdelegate,Springboard,我想向远程服务器发送一个时间戳,并等待成功的回调,如果远程服务器没有响应,则将时间戳存储在本地 这是我可以投入到ApplicationIdentinterBackground实现中的东西吗?您可以在dispatch\u async中这样做,您可以等待服务器应答并对数据进行处理,但不能停止输入后台。。。 试试这个代码 dispatch_queue_t savingQueue = dispatch_queue_create("savingQue", NULL); dispatch_async(sav
ApplicationIdentinterBackground
实现中的东西吗?您可以在dispatch\u async中这样做,您可以等待服务器应答并对数据进行处理,但不能停止输入后台。。。
试试这个代码
dispatch_queue_t savingQueue = dispatch_queue_create("savingQue", NULL);
dispatch_async(savingQueue, ^{
//do something in bg....
dispatch_async(dispatch_get_main_queue(), ^{
});
});
dispatch_release(savingQueue);
如果您想在进入后台之前完成任何网络工作,您应该使用
beginBackgroundTaskWithExpirationHandler:
请求额外的时间 根据iOS开发者库
此方法的实现大约需要五秒钟的时间
执行任何任务并返回。如果您需要额外的时间来执行
对于任何最终任务,您都可以从
通过调用beginBackgroundTaskWithExpirationHandler:。在里面
实践中,您应该从ApplicationIdentinterBackground返回:as
尽快。如果该方法在时间运行之前未返回
您的应用程序将被终止并从内存中清除
您应该执行与调整用户界面相关的任何任务
在此方法退出之前,但其他任务(如保存状态)应
可以根据需要移动到并发调度队列或辅助线程。
因为它可能是你开始的任何背景任务
ApplicationIdentinterBackground:在该方法之后才会运行
退出时,应在退出前请求额外的后台执行时间
开始这些任务。换句话说,先打电话
beginBackgroundTaskWithExpirationHandler:然后在
调度队列或辅助线程
因此,您有大约5秒的时间来执行任何任务并以“ApplicationIdentinterBackground”方法返回。即使在ARC中也需要释放吗?似乎不需要。我想它以后会发布的。