关于热更新的几个疑问

Q1:看了热更新代码,初始化assetsManager后是先调用checkupdate方法,然后再调用update方法,在使用中发现checkupdate方法及update方法都会触发版本检测,如果在checkupdate方法后马上update方法会有个错误(在AS里看到错误提示但不影响更新),索性我直接去掉checkupdate方法,直接update也是可以成功更新的,这样的话会有什么影响么?
Q2:每次构建都需要重新在main.js里加入设置搜索目录的代码,有什么好的方法可以省略这一步?总担心哪天自己忘了这步。
Q3: 创建assetsManager对象时,每一个参数是什么?我看别人的代码里没传入也是正常使用的this._am = new jsb.AssetsManager(’’, storagePath, this.versionCompareHandler)
Q4:cc.game.restart();这个有事件回调么?想加个提示说明现在已经是更新完成了的。

1.checkupdate阶段下载的是version文件,只包含version信息;update阶段下载的是project.manifest文件,包含项目所有文件索引,可能动辄几MB。
2.可以参考官方文档https://docs.cocos.com/creator/manual/zh/publish/custom-project-build-template.html按照需求定制,也可以自己写脚本构建。
3.第一个参数是manifest文件,第二个是路径,第三个是版本比较函数。
4.提示在jsb.EventAssetsManager.UPDATE_FINISHED里面做相关操作。

很久没有弄更新了,如果有误导,多谢指正。

十分感谢!!!