有个断点续传的小问题

  • Creator 版本: 2.x 测试版本2.4.10
  • 目标平台: Android

在2.4.x Cocos2dxDownloader.java中,下载文件是否断点续传会判断_resumingSupport
但是_resumingSupport是在一次访问成功之后才会把host put进去,

热更会在某个host下先请求配置,再进行下载,不会有问题。
但是游戏启动后某个host下第一次执行jsb.Download,重启后不会进行断点续传

想问下这个逻辑是Bug,还是设计?

我记得以前测试的结果 是重启后 是可以续传的,但目前不保证100%是这样也
不过 就目前的情况 每次也都是 重新new 一个jsb.Downloader,然后续传 ,那么和你重启游戏 这个有区别吗 我认为区别不大应该,所以 我认为重启后也应该是有续传的 但不清楚你那里的问题了就

目前重启后获取已下载文件大小正常 但是走到

 if (fileLen > 0) {
    if (_resumingSupport.containsKey(host) && _resumingSupport.get(host)) {
        downloadStart = fileLen;
    } else {
        // Remove previous downloaded context
        try {
            PrintWriter writer = new PrintWriter(tempFile);
            writer.print("");
            writer.close();
        }
        // Not found then nothing to do
        catch (FileNotFoundException e) {
        }
    }
}

首次启动_resumingSupport并没有包含host,已下载的会被清掉