在多任务处理模式下下载大数据?

时间:2012-02-09 14:12:55

标签: iphone ios ipad ios4

我在一个单独的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;

}

1 个答案:

答案 0 :(得分:5)

哟需要在多线程概念中做一些工作(如下载)。我认为This是一个非常好的教程,确切地提到了你的问题(也解决了它:)我希望它有所帮助

编辑:Apple says you can go on downloading in the background.

  
    

后台任务

  
     

继续网络转移是显而易见的

     
    

应用后台任务。如果用户开始大量转移     然后切换出你的应用程序,它可以启动后台任务     继续转移。如果一切顺利,转移将完成     在用户下一次将应用程序带到前面之前。实施时     您的应用中的后台任务支持,您没有必要     对于“在后台”和“在后台”有单独的逻辑     前景“案例。