已经加载过,在热更下来,是新的资源还是旧的资源呢
我看官网加载bunder有两种方式,一种是填一个远程url地址,一种是加载本地包。远程地址每次都要下载资源,这肯定是不行,所以我采用的是用热更组件的方式先下载bundle包,然后读取加载本地的bundle。不知道还有没有别的方式加载本地包,热更组件方式下载后好像要重启才能完全更到资源
用热更组件的方式也比较好管理子包版本
我之前测试过,没有加载过子包的话,可以不用重启,
你是用的热更方式下载的子包么
对,我是用热更的方式,把子包整个资源下载到本地,
我理解的是,加载过本地的子包,也就是加载过代码文件了。在返回大厅,这时候子游戏有新版本的话,在热更新子包,在加载子包的话,代码还是旧的,资源是新的。
我的主包不包含子包,子包是一个个的bunder包。主包登录界面挂一个主包热更组件,主包更新完进入大厅,每个子游戏入口都挂一个子游戏热更组件。
然后通过子游戏热更下载bunder包
你第一次下载子包,或者没有加载过子包之前,下载子包。这时候可以不用重启,直接加载子包
但是我后面有子包热更版本迭代啊
上面不是说了吗,“没有加载过子包之前”,在加载之前检查更新,热更好了再加载
热更好了直接加载只能更到部分资源,重启再进入游戏才能完全更新
没啥用的 只要你加载过了,必须要重启
js代码加载过了必须要重启。所以你已经加载过的bundle,热更后资源可以马上加载到最新的,但是脚本不行
那很影响体验啊,子游戏本来就是不想重启进去
让原生配合你写个界面 要是重起的话让他显示一张图,遮一下,要不然就把字游戏搞成h5的
还有方法就是把你之前存子游戏的路径修改了,加载游戏的seachpath改成一个新的文件存放地址,你的代码全部搞成挂载在window上,然后再进去应该也行。当然 这改改造很麻烦
h5就是直接加载远程bundle呗,耗流量,用户顶不住啊
