这个想法挺好的,就是目前看来cocos貌似不支持重复创建吧。没这样试过,楼主解决之后说一下方案呗。
你给的这个 demo 是不是只有一个 按钮? 点击了以后就会退出?然后在点击进入就会崩溃?
能否给我个 QQ ,这样比较好沟通… 或者你加我 QQ: 821686174
在帖子上沟通,信息共享哈
Android上比较容易实现说的这个效果。可以把Cocos2dxActivity配置在另外一个独立的进程(Process)中,当退出游戏的时候,调用cc.game.end()会把Cocos的进程直接杀死,也能够彻底释放引擎资源。
如果配置在同一个进程,因为cc.game.end()会的默认行为是把游戏Activity所在进程(app的进程)直接杀死,导致应用也直接退出了。
iOS上由于无法像Android创建独立的游戏进程,退出游戏需要确保引擎的所有资源完全销毁干净。
而基于目前cocos2d-js的资源管理实现,还没法做到100%回收释放的资源,导致内存泄露
和崩溃
。
这个是历史因素导致的,cocos从cocos2d-iphone发展而来,一直都是为独立单个游戏服务的,退出游戏就直接杀死进程或者exit(0), 没有对资源管理没有做到合适的管理(引擎内很多单例,销毁时间相互影响),因此要使用cocos2d做一个类似游戏中心的平台,是需要对引擎有比较深的把控,进行修改才能做到。
以前版本出Cocos确实做不到,不过creator提供了restart机制,通过设定不同的启动路径,可以实现不同的游戏启动。变相的实现了大厅+子游戏。
这个实现仅限于Native,Web上不能这么做。
非常感谢James, Android我试下。那IOS下我该如何实现这个需求呢?求指导
说的我好心动啊,求指导
以前用cocos2dx的时候做过类似项目不存在这个问题,区别是它不是通过js交互的。
android通过这种方式确实可以,非常感谢!
IOS咋整呢,好受伤
贴图变黑,是因为你把还有用到的贴图释放了。可能是代码主动释放的,也有可能是场景自动释放的。如果是场景自动释放的,需要检查是否在代码里引用了被释放场景的资源。
场景我设置成自动释放了,其他地方没有主动释放。而且我也尝试过场景不要自动释放,问题同样存在。
dragonbone 目前自动释放的话就会这样,等待我们修复吧
谢谢回复,不是dragonbone哦,就是普通贴图,代码控制显示隐藏所在的node,android是单独放到一个独立进程里每次重新创建销毁的,所以没遇到这个问题。如果这个是引擎的问题的话能否告知下大概的修复时间点?现在1.3.2和1.4.0beta7试了都有这个问题。
一般是逻辑问题,不是引擎问题。放到大项目里太难排查了。你先做一个最小可重现的 demo 出来,一般自己就知道原因了。如果还查不出来,可以传上来我们试试。
这个界面难道是直播里面嵌入的赢三张游戏
请问,图片变黑的问题解决了吗?我的也是这样,H5界面和Cocos creator模拟器都是没问题的,但是ios工程会有问题
你好,可以再详细讲讲吗,我正在做这个,完全没有思路