Iphone 在应用程序进入后台后继续下载

Iphone 在应用程序进入后台后继续下载,iphone,ios4,Iphone,Ios4,在我的应用程序中,我下载了大约25mb以上的数据。在下载过程中,如果用户按下中间按钮,应用程序进入后台,那么应该做什么,以便在应用程序进入前台后继续下载当应用程序进入后台时,您有一点时间进行存储并决定做些什么。我认为最好的办法是通过某种方式切断数据 如果是文本数据,就很容易了,只需将其分成许多较小的文本文件,并记住您下载的内容 如果其中包含大量图像和视频,请保存您下载的图像或视频的最后一个(可能是索引) 通常,请尝试将数据拆分为多个较小的数据,以便其中一个数据的拆分不会影响其他部分,并且您可以重

在我的应用程序中,我下载了大约25mb以上的数据。在下载过程中,如果用户按下中间按钮,应用程序进入后台,那么应该做什么,以便在应用程序进入前台后继续下载

当应用程序进入后台时,您有一点时间进行存储并决定做些什么。我认为最好的办法是通过某种方式切断数据

如果是文本数据,就很容易了,只需将其分成许多较小的文本文件,并记住您下载的内容

如果其中包含大量图像和视频,请保存您下载的图像或视频的最后一个(可能是索引)

通常,请尝试将数据拆分为多个较小的数据,以便其中一个数据的拆分不会影响其他部分,并且您可以重新下载该部分。

请查看《iOS应用程序编程指南》中的部分,其中说明:

在暂停之前的任何时间 应用程序可以调用 beginBackgroundTaskWithExpirationHandler: 方法向系统请求额外的 是时候完成一些长跑了 在后台执行任务


我认为在这种情况下,额外的时间是不够的,因为25+MB的数据太大了,这是可能的;我相信您得到的额外时间限制为10分钟(在当前的操作系统版本中)。正如沃德康所说的那样,将数据分解成小块是一个很好的建议。不过,如果您确实想在后台继续至少一些下载,beginBackgroundTaskWithExpirationHandler:很高兴知道:通过调用它,您可以在用户点击home按钮后运行10分钟,而不是10秒。我没有测试这10分钟。这是一个很好的事实。然后,我认为这是可能的,当用户选择应用程序时,10分钟25+MB的数据并不多,如果应用程序从后台到前台,我总是发现显示相同的屏幕。在这种情况下,我假设下载操作将恢复。我说的对吗?。注意:我还没有在iphone上测试。不,下载操作将不会恢复。你的下载连接断开了,你必须用你的代码重新启动。我有点怀疑。我刚刚试着从我的iPhone3GS手机上下载4.0.2操作系统。它在没有任何处理的情况下工作。我没有做任何处理,以回到前面或反之亦然。这是预期的行为吗?原因可能是在用户退出应用程序之前,您的下载就结束了。下载开始后立即退出应用程序进行测试否内容约为25 mb,通过wi-fi肯定需要10分钟左右。我在2分钟后回到后台。我想电话可能是我能确定连接是否中断的唯一方法。