使用ccreator一年,这些坑未能解决

玩家有覆盖安装apk的情况吗,这种情况有没有删掉之前的热更缓存

mark

你这个底层js报错我猜是因为用了延时调用吧,延时调用很容易出现“对象已经destroy了但是仍然调用其函数”。
热更的bug?不好意思,我们根本不敢用热更,都是全打包。
龙骨动画的释放bug?我们是每个关卡之间都插入一个“加载动画关卡”隔开,而且勾上关卡的资源自动释放,不然native端100%会被龙骨动画卡死!

你这些还不是最麻烦的问题,最大的问题还是像我们做的项目一样,小游戏、apk、iso三端同时上架,而且项目不小,到处都弥漫着平台判断的代码,而且经常这平台能用那平台又不能用……
如果不是因为老大一开始要三端同步,肯定是首选unity做native,然后小游戏就用creator做个导量版的,现在做的确实是头疼……

那小游戏的包,你们怎么放下的啊,就算是全部是代码也放不下吧

素材放远程服务器啊

回答一下第二个问题。
我们这边也遇到过这样的问题,采取了引用技术来处理
https://forum.cocos.com/t/topic/65743/56

其实1.x系列还有许多问题没有解决,希望引擎组精益求精,把2.x 和 1.x 都做好来。

这两天被热更搞的冒火,正想开个帖子,刚好看到这个,就一起交流一下吧。
我的项目在于2.0.2版本。
热更问题:
1.更新慢
线上的更新包经历了40+次更新了,新用户基本等于更新一个整包。不过总大小才30+m所以体积不是问题。
问题在import文件夹,2000+的文件……
解决方案:将import打包成zip,所幸assetsManager会自动解压,所以实现很简单。只是我看官方文档还有论坛都没提这个事,是太基础了不用聊,还是有啥坑?
2.热更死循环
问题表现: 发现有新版本=》执行更新=》更新完成=》重启=》发现新版本=》。。。
偶发性的,一次热更下去可能就一个用户有这种现象,多出现在ios用户。
从表现来看,似乎是manifest没有更新,但是从源码来看,是先更新manifest再发送更新完成事件的,所以为何会出现这个死循环我一直想不通。
解决方案:在发现新版时,记录更新的文件数量,如果结束更新时文件数量为0,可以视为进入死循环,删掉更新文件夹再次执行热更。类似修复按钮,只是没有把使用权交给用户,不知道靠谱不,这种偶发性的简直了,测也没法测,不知道有啥其他办法没。
3.更新后界面混乱
同样是偶发性的,更新完成后个别用户界面一篇混乱,但是按钮功能啥的都正常……估计是描述文件下载过程中出错了
官方文档印证了这个判断

由于下载过程中仍然有小概率可能由于网络原因或其他网络库的问题导致下载的文件内容有问题

解决方案:setVerifyCallback老实验证md5吧。
不得不吐槽一下官方提供的示例,根本就没做验证,直接返回的true,我也就照着抄了……

是啊,素材全放服务器。不过,包里全是代码,你们放得下啊?

这些都处理的。如果是这样的问题,肯定不是某个玩家。而是全部玩家。我是在c++层记录和检测是否安装新版本的。如果安装新版本会把热更路径重置的。

删除热更路径文件,是最好在js引擎启动之前处理的。这样才保证不会出现其他资源加载之后被删掉导致的闪退问题。

我验证了md5,依然会出现这种问题。不是文件下载失败。具体原因未知。但是用户一键修复之后,问题得到解决。逻辑就是删除所有热更资源,重新热更。所以怀疑用户热更失败了,但是assetmanager却认为热更成功了。

从楼上的回复来看,你的删除操作是在c++层执行的?

不是延迟调用。是sprite的update的调用,然后一直报错。所以无法重现,也就没法判断具体原因。如果源头哦是我这里代码报错,我肯定是找到相关原因。

一键修复不是。新版本覆盖老版本,这个删除操作是在c++层实现的。

嗯,谢谢你了

麻烦问一下,您目前使用的是什么版本的引擎?

顶帖。有空我仔细看看有没会的。

问题我们会一一确认一下,一些问题可能在2.x版本有过修复,可以尝试一下看看

嗯,谢谢引擎组的关注。我对比2.x相关改动。只是那个js报错的问题。实在是不知道头绪从何查起。希望能给一些指导。

1.8 和你的1.9版本差不多