需求描述:
使用assetManager这套去进行静默下载,也就是说普通加载和预下载会同时执行,对应的优先级,同时下载数量,每帧下载数量自然也会区别配置。
问题描述:
1.预下载某个文件失败/阻塞时,会影响正常加载,正常加载直接停着在等。
2.预下载配置的同时加载数量是2时,发现同时下载了数十个。
问题原因:
经过调试源码,发现downloader.js代码逻辑有问题
一个是callInNextTick(handleQueue)的触发条件不一致(暂时不确定是否是导致卡住的原因)
第二是handleQueue方法参数拿的是当前任务的maxConcurrency和maxRequestsPerFrame,实际上每个任务应该是不一样的,不应该用一个逻辑去执行所有的任务
结论:
cocos应该是没有写单元测试的