Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在调用ApplicationIdentinterBackground之后,我还有多少时间?_Ios_Background Process_Uiapplicationdelegate_Springboard - Fatal编程技术网

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中也需要释放吗?似乎不需要。我想它以后会发布的。