在我的應用程序,我下載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