[ 
https://issues.apache.org/jira/browse/CB-2190?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13903936#comment-13903936
 ] 

Jan Pittner commented on CB-2190:
---------------------------------

To continue downloads once the app is put in background, it's as simple as 
copying the backgroundTaskId code that's used in the upload function and 
putting it in the download function. Each file transfer delegate gets its own 
backgroundTaskId, and as the download finishes, the backgroundtask is removed 
for that download. But the downloads themselves are still on the main thread, 
and 2 concurrent downloads of 100mb+ files on an iPhone 5 are enough to slow 
the UI noticeably. 

I'm not sure why this bug was closed and marked as fixed when clearly only 1/2 
of it was addressed. I'm going to try and figure out background downloads by 
looking at how ASIHttpRequest does it. Once I figure that out hopefully I'll be 
able to submit a patch. 


> FileTransfer does not request more time than the 5 second limit when placed 
> in background.
> ------------------------------------------------------------------------------------------
>
>                 Key: CB-2190
>                 URL: https://issues.apache.org/jira/browse/CB-2190
>             Project: Apache Cordova
>          Issue Type: Improvement
>          Components: iOS
>    Affects Versions: 2.2.0
>         Environment: iOS 6.0.1, Cordova 2.2.0.
>            Reporter: Leif Ullman
>            Assignee: Ian Clelland
>             Fix For: 2.7.0
>
>         Attachments: CDVFileTransfer.h, CDVFileTransfer.m
>
>
> I've been running into an issue using FileTransfer on iOS that cropped up as 
> part of my upgrade to Cordova 2.2.  Previously I had been on PhoneGap 1.2 (a 
> long time between upgrades I know).  When using the 1.2 version, I could 
> start a filetransfer upload (using sample code from here: 
> http://docs.phonegap.com/en/2.2.0/cordova_media_capture_capture.md.html#Capture)
>  and it would continue to run if I returned to the home screen or if I locked 
> the device.  Now it appears that suspending the app will cause a 
> FileTransferError to occur with error code 3 and error message "The request 
> timed out".  
> After trading some emails with Shazron, he pointed out that the limit to 
> finish up background tasks is 5 seconds.  If the task will take longer, the 
> app has to request more time -- and FileTransfer does not do this currently 
> (although the CDVLocalStorage plugin in onResignActive does: 
> https://github.com/apache/cordova-ios/blob/master/CordovaLib/Classes/CDVLocalStorage.m#L378



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to