下载一个很大的文件
下载的时候会卡住不动
下载完成就不卡了
有大佬遇到过吗???
搞定了
说下过程
我移植了cocos creator3.8.4版本的CocosDownloader
发现还是卡顿
后来发现是这个函数导致的
红框里的代码是我自己加的
睡眠1毫秒
就不卡主线程了
@dumganhar
大佬,cocos creator那边要不要加这个睡眠?
另外发现,不是所有手机都会卡
我现在用的这台是三星的测试机,会卡主线程

支持一下.
PS:一天了,还没移到2dx分区.
如果不要后台下载可以换成curl实现
这是什么原理。。。。 多 sleep 了 1ms,不应该卡更久 1ms 吗。
另外,downloader 应该是在子线程中出发 okhttp onResponse 的回调的。你断点 onResponse 中看看线程是哪个。如果是游戏主线程那么加 1ms 应该更卡,但如果是子线程,那应该不会卡游戏主线程的。
从代码角度看,应该要在子线程中给回调的,OkHttpClient 内部有自己的线程池。
我能想到的,你这 sleep 了 1ms 反而不卡了,可能是因为 onProgress 回调频率非常高,导致频繁抢占 CPU 资源,也需要频繁发送事件到游戏主线程。
所以,你能在 creator 中复现出此问题吗?如果确认 creator 也存在,我来查下。
另外,你说只有三星的测试机才会卡游戏主线程,能确认一下这台测试机的型号吗?有其他能复现问题的设备么?
我弄了个creator的demo
结果点击下载直接没有反应。。。 
download.zip (96.6 KB)
手机是三星A15 5G
型号是SM-A1560
港版的
知道为啥下载不了了,下载路径后面要拼接文件名… 
测试好了
使用creaotr的下载就不会卡主线程
使用cocos2dx就会。。。
目前不知道问题出在哪里。。。
我先这样改吧 
你游戏线程处理progress的逻辑做个间隔延迟应该也可以吧