我在一个单独的viewcontroller中从ASynchronous NSURLConnection下载大数据。下载数据需要2分钟。它工作正常。但是当我通过退出应用程序进入后台模式并再次打开时,启动画面会出现 应用程序关闭强大。下载小数据时,它在同一视图控制器中的后台模式下工作正常。我在阅读了苹果的有限长度documnet后使用了以下代码。 但它没有用?请帮忙吗?
- (void)applicationDidEnterBackground:(UIApplication *)application
{
UIApplication *app = [UIApplication sharedApplication];
bgTask = [app beginBackgroundTaskWithExpirationHandler:^{
[app endBackgroundTask:bgTask];
bgTask = UIBackgroundTaskInvalid;
}];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{});
[app endBackgroundTask:bgTask]; bgTask = UIBackgroundTaskInvalid;
}
答案 0 :(得分:5)
哟需要在多线程概念中做一些工作(如下载)。我认为This是一个非常好的教程,确切地提到了你的问题(也解决了它:)我希望它有所帮助
编辑:Apple says you can go on downloading in the background.
后台任务
继续网络转移是显而易见的
应用后台任务。如果用户开始大量转移 然后切换出你的应用程序,它可以启动后台任务 继续转移。如果一切顺利,转移将完成 在用户下一次将应用程序带到前面之前。实施时 您的应用中的后台任务支持,您没有必要 对于“在后台”和“在后台”有单独的逻辑 前景“案例。