我再次遇到(请参阅旧问题)使用 WebClient 类下载文件的问题。如果我打开应用程序并直接进入一个页面并开始下载,效果很好。但是,如果我先点击一下然后尝试下载文件,WebClient 会下载前 1% 然后停止,从而触发下载完成事件而没有错误。我尝试只注册到 DownloadProgressChanged 事件,但 WebClient 在 1% 后仍然停止。而且它始终是 1%,而不是 2% 或 3%……应用程序“FliteLevelTV”的当前版本已经在商店中并执行下载,使用完全相同的代码,没有问题。
我目前正在使用 Xamarin Studio 4.0.8(build2) 和 Xamarin.iOS 版本:6.2.7.1(商业版)。
我首先认为我的 WebClient 可能在完成之前被垃圾收集,但如果是这种情况,它不会触发下载完成事件。无论如何,在我的应用程序中,整个下载系统是通过一个 Singleton 控制的,该 Singleton 具有文件下载器的单个实例作为类属性,它也具有 WebClient 的单个实例作为属性,并控制只下载一个文件一次使用队列。所以我不确定如何以不同的方式构建它以提高效率。
请帮忙,我真的需要推送一些更新,而这个问题正在解决整个问题。