自从Cocos支持Bundle后一直有个疑惑它和传统的热更新有什么区别,看似差不多又不能很好替代传统的热更新,同时存在吧好像又有点冲突,希望牛人或官方解下惑,有没有最佳实践方案。
很多用法,热更新只是其中之一
bundle 模块化了整个项目,顺便解决了资源索引文件太大的问题(因为分段了)
代码也可以分段下载了
可以给游戏做 MOD 机制
可以分高低清资源分别打包
可以多语言,每个语言一个 bundle 按需加载
Bundle最突出的特点 按模块下载
当 bundle 这个东西出来的时候就有人用来热更了,只是还有一些人一直不愿意学习新知识
对,我之前做那种大厅很多子游戏的就这样搞的
当然有区别
- bundle适合有子游戏/模块这类的更新,如果用官方热更,要全部下载。
- 热更适用范围更广,因为他可以热更掉一切除main.js外的资源(针对原生而言的资源,比如3.x打包出来的data)。
所以:
- 如果更新子游戏/模块(主包也是一个模块),推荐可以用bundle
- 如果有改动引擎代码(js层)等,推荐使用热更
- 综合上面两点最好
- 如果改动是原生层引擎的代码,那上面两者都不适合。
6666,在理。