-
Creator 版本:3.0.1
-
目标平台: iOS/android
-
重现方式:必现
-
手机型号:
背景:
最近在做一个小游戏的项目,主页是一个游戏列表,点击单个游戏进入游戏页面,小游戏由cocos creator制作,点击返回可回退到主页。点击回退时将整个Game删除掉,再次进入创建新的Game。
现象:
从主页进入二级页面播放游戏,然后回退主页,有明显的内存泄漏,为了验证问题,我们创建了一个空的场景去测试,每次进入游戏泄漏15M内存。如果用我们自己的游戏场景,每次会泄漏70M左右内存,多点几次就会触发OOM。
下面是leaks工具检测出的内存泄漏:
排在前两位的泄漏是GLES3Shader和GLES3CommandBuffer:
可能原因:
native的GLES3CommandBuffer和GLES3Shader的destory函数都没有触发调用
void GLES3Shader::destroy()
void GLES3CommandBuffer::destroy()
阅读了官方的一些问题,应该是JS管理C++的对象释放,但不知道为什么会出现destory没有触发调用的情况。
初入cocos的新手,麻烦各位大神不吝赐教,感谢~


