在我的应用程序,我下载25MB左右+数据。期间,如果用户按下中间的按钮和应用进入后台应该做些什么,以便下载继续一旦应用涉及到前台继续下载被切换到后台
回答
你有一点点时间来存储,并决定做一些事情时,应用程序下载过程进入背景。我认为最好的办法是以某种方式关闭数据。
如果是文本数据,这将是很容易,只要打入许多小的文本文件,并记住你下载的是什么。
如果它包含大量的图片和视频,为您节省下载的图像或视频的最后一个(可能是指数)。
一般情况下,尝试将数据分手许多较小的,使得在一个休息不会影响其他部分,你可以重新下载的那部分。
退房的Executing Code in the Background部分的iOS应用程序编程指南中,它说:
它被暂停之前的任何时候,一个 应用程序可以调用 beginBackgroundTaskWithExpirationHandler: 方法向系统提供额外 时间在后台完成一些长期运行的 任务。
我认为在这种情况下额外的时间是不够的,因为25+ MB的数据是如此之大 – vodkhang 2010-09-28 13:28:04
这是可能的;我相信您获得的额外时间仅限于10分钟(在当前的操作系统版本中)。如vodkhang所说,将数据分解成小块是很好的建议。尽管如此,如果你想在后台继续至少一些下载,那么beginBackgroundTaskWithExpirationHandler:很重要:通过调用它,你可以在用户点击主页按钮之后运行10分钟而不是10秒。 – 2010-09-28 14:22:46
我没有测试10分钟。这是一个很好的事实要知道。然后,我认为有可能,10分钟以上的25+ MB数据并不是那么多 – vodkhang 2010-09-28 14:53:18
- 1. 在后台继续下载
- 2. 切换到后台线程并继续执行方法
- 3. Android - 切换方向后继续检查
- 4. 在后台状态下继续操作
- 5. jQuery Switchclass继续切换
- 6. React-native,继续在后台下载进程
- 7. 当应用程序进入后台时继续下载
- 8. Aria2继续下载
- 9. ASIHttpRequest继续下载
- 10. 继续在后台上传
- 11. 从Windows切换到Linux(Ubuntu)后如何继续使用git?
- 12. 如何在iOS中终止应用程序后在后台继续下载
- 13. 继续下载与stream.addrange
- 14. 在IntegrityError后继续加载
- 15. AVPlayer和addPeriodicTimeObserverForInterval当应用程序被切换到后台
- 16. 如何在后台继续在前台继续使用NSURLConnection开始连接?
- 17. '高度:切换'JQuery的'动画'使Div继续切换
- 18. admob插页式广告后继续赛格/切换屏幕
- 19. 在后台继续执行任务
- 20. 如何从后台继续播放
- 21. AS3 UILoader SWF在后台继续播放
- 22. iOS使AVPlayer继续在后台播放
- 23. 继续在后台运行代码ASP.NET
- 24. 切换到站台
- 25. 继续使用NSURLSession下载,即使在应用程序被终止后
- 26. iOS - AVAudioPlayer不会在后台继续播放下一首歌曲
- 27. 如何在这种情况下继续执行后台进程
- 28. 转换视频在后台继续ROR 3
- 29. 继续下拉框直到
- 30. 下载iOS模拟器不会继续授权被拒绝
当用户选择该应用,如果应用程序来自于背景的前景,我总能找到显示相同的画面。在那种情况下,我认为下载操作将会恢复。我对么 ?。注意:我还没有在iPhone上测试过。 – thndrkiss 2010-09-28 13:39:40
不,下载操作将不会恢复。您的下载连接已损坏,您必须通过您的代码重新启动它 – vodkhang 2010-09-28 14:52:11
我有疑问。我只是试图从我的iphone 3gs手机4.0.2 os下载。它没有任何处理工作。我没有做任何处理,反之亦然。这是一个预期的行为? – thndrkiss 2010-09-29 19:25:51