creator 2.x 下载失败的回调丢失

android 2.4.4,ios尚未验证。

image

这个时候注册了各种状态的回调。
这个功能我是想用于热更的。因为官方的热更例子,对于下载失败的反馈及不清晰,对下载重试非常不友好,因此我改为自己控制任务。
然后会发现一个问题:

请注意这几个变量。

如果正常下载,不出现异常,这里的计数是对的。如果不切换任务,断开服务器的方式,计数看上去也没问题。

但是,但是,如果我们这个时候把任务切到后台,断开wifi和数据网络,然后再恢复wifi。切换回游戏,会发现跳出的条件,即“this.totalDownloadFiles === this.totalFinishedFiles”永远也不会达成。
因为必须真机打包,调试非常复杂,何况这里又是热更用途。
九牛二虎之力,查到数据问题:原因我用日志跟了一下:
Update status totalDownloadFiles 2978 totalFinishedFiles 2976 totalCompleteFiles 1834 totalErrorFiles 1142
意思就是说,要下载的文件总数,和跟踪到的有反馈任务数不一致。
例如总共要下载2978个文件,但是实际上成功下载了1834个文件,失败了1142个文件。得到结果的文件数是2976,明显和2978不一致。

求解惑。如果ios也有同样问题,调试起来会更痛苦。所以麻烦各位了。

总数是不可能传错的,应该是失败文件的计数不足。很可能是下载失败了,但是网络未响应,导致文件下载未中断。

我怎样捕获这个问题来解决比较好呢?

丢失的两个文件有发起下载吗,是下载没结果返回?

我是在循环里的,所以肯定都有创建。如果不做断网操作,是能全部下载完成的。
只有切出去断网,这个测试,才会触发这个问题。导致下载任务再也无法完成或出错。

这事没人在意了吗?