热更新版本对比的问题

creator 1.8.2
如图是AssetsManagerEx.cpp的源码,从代码可以看出,当版本比对后,如果localNewer==true,那么就清空游戏存储目录。
为什么要这么做呢,这样做不就启动不了游戏了吗?很是费解!!

这是清除之前下载的补丁目录

_storagePath是游戏的存储目录
_tempStoragePath才是临时目录

@jare 大佬能解释一下为什么版本比对后如果本地的较新 就要 清空存储目录?

我现在做热更新,第一次启动时可以正常更新,重启后,更新目录里面的文件就会被删除掉,是不是就是这个原因?
http://forum.cocos.com/t/topic/62429/3

哦 你这个问题可能是因为 当你需要大版本更新的时候,可以清除掉原来的那些热更新,否则你更新大版本后,代码还是执行原来小的热更新的代码

澄清一下比较的逻辑:localManifest 是 app 包内的版本,cachedManifest 是本地缓存的版本,所以当 app 包内版本大于本地缓存的版本时,就需要清理本地缓存了,否则缓存会影响到 app 包内版本的正确性

1赞