我正在使用串行调度队列来在用户将应用程序移动到背景时序列化一些网络请求。移动到后台后保持调度队列运行5秒
- (void)applicationDidEnterBackground:(UIApplication *)application
{
dispatch_queue_t opQ = dispatch_queue_create("com.myapp.network", NULL);
dispatch_async(opQ, ^{
[self sendNetworkData1];
[self sendNetworkData2];
[self sendNetworkData3];
});
}
的问题是,当他们在这个队列中,我创建运行,应用程序甚至不为5秒钟,这两点应该保持活跃。
相反,当我在队列外发送相同的请求时,它们将被发送大约8秒钟。但之后应用程序崩溃。
- (void)applicationDidEnterBackground:(UIApplication *)application
{
[self sendNetworkData1];
[self sendNetworkData2];
[self sendNetworkData3];
}
我还想写在磁盘上,其余的,让他们可以在用户打开应用程序的下一次发送。
实现此目的的最佳方式是什么?
那么,你能编辑你的问题有更好的解释吗?另外,对于你说的你写的代码,你能引用实际的代码吗? – TheNavigat