Cordova / Phonegap:在后台线程中运行FileTransfer插件

时间:2014-04-25 15:29:33

标签: android ios multithreading cordova

我看到了一个尚未解决的旧问题:Run PhoneGap FileTransfer in background thread?

有关于此主题的新闻吗?

我正在使用带有FileTransfer插件的Cordova 3.4.0,当我下载文件时,UI开始滞后,特别是在装载gif一直冻结的iOS设备上

是否可以顺利下载文件的替代插件?

1 个答案:

答案 0 :(得分:1)

我刚检查了文件传输的发行说明。该问题已在最新版本中修复:

  

0.4。3(2014年4月17日)

     

... CB-5175:[ios] CDVFileTransfer异步下载(修正#24)   ...

不幸的是,这个版本通过不调用成功或失败回调来完全打破文件传输下载。有关安装最新版本的说明,请参阅https://issues.apache.org/jira/browse/CB-6720?focusedCommentId=14008776&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14008776

我手动修补CDVFileTransfer.m以包含最新版本的后台线程代码。在下载方法中,您需要替换

[delegate.connection start];

// Downloads can take time
// sending this to a new thread calling the download_async method
dispatch_async(
               dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, (unsigned long)NULL),
               ^(void) { [delegate.connection start];}

到目前为止,这对我来说是可靠的,但很明显,在科尔多瓦发布正式修复程序之前,你是独立的。