[Creator 2.2.1] android 热更下载大资源的问题

正在做一个android项目,资源比较大,打算用热更的方式下载。其中好几个数据文件有50+M,在测试时发现频繁超时。
查看cocos 源码看到:

AssetsManagerEx::init 中写死了DEFAULT_CONNECTION_TIMEOUT = 45; //秒
这个值传递给Cocos2dxDownloader中

        if (timeoutInSeconds > 0) {
            downloader._httpClient = new OkHttpClient().newBuilder()
                    .followRedirects(true)
                    .followSslRedirects(true)
                    .callTimeout(timeoutInSeconds, TimeUnit.SECONDS)
                    .build();
        }

一个下载任务45秒必然超时?
然后再看断点续传:

                    if (downloadStart > 0) {
                        builder.addHeader("RANGE", "bytes=" + downloadStart + "-");
                    }

真的就只支持断点续传而已, 分段下载呢?完全不考虑?这样让大文件下载怎么玩啊?

我把DEFAULT_CONNECTION_TIMEOUT设置到300测试,也是有问题的:
1) 下载等待时间长,体验超级不好;
2) 当_countOfMaxProcessingTasks > 1时, 事实上也会很快超时;

是还有我每看到细节么???
希望cocos 团队把基础功能搞健壮点。

@jare

我也是下载大文件时发现了这个问题, 已经提了 issue: https://github.com/cocos-creator/cocos2d-x-lite/issues/2612

callTimeout 换为 connectTimeout/writeTimeout/readTimeout 可以解决下载超时问题.

new OkHttpClient().newBuilder()
                    .followRedirects(true)
                    .followSslRedirects(true)
                    .connectTimeout(timeoutInSeconds, TimeUnit.SECONDS)
                    .writeTimeout(timeoutInSeconds, TimeUnit.SECONDS)
                    .readTimeout(timeoutInSeconds, TimeUnit.SECONDS)
                    .build();
3赞