mono热更新
如何制作热更新的dll这里不做介绍了,可以翻看csdn的文章
更新过程中强退导致dll损坏
问题的产生是这样的:我们的代码文件随着开发会越来越打,当更新一个 dll大小大约为 4M 的时候你会发现不会是一瞬间更新完毕的,那么这个时候如果客户端强制退出了游戏,那么这个时候的dll就会损坏了。结果是下次无法进入游戏卡在splash界面。
解决办法:在更新dll文件的时候我们并不覆盖上次的dll文件,而是使用"_bak"的文件名进行备份代码文件,等到更新完成后,点击重启的时候进行文件的覆盖。
这样就不会出现dll损坏了。我们可以通过eclipse 的 File Explorer 功能查看持久化目录文件的变化。
解压过程中强制退出游戏
解决办法:把解压当作一个原子性操作,并使用 PlayerPrefs 存放到持久化目录中判断是否解压过,如果没解压完成强制退出,那么下次需要进行强制性解压。
热更注意事项
注意:unity_editor 这个宏在热更的时候不会生效。不要使用这个宏