做了个内存泄漏的demo,求大神指点一下规避方法

感谢大神简答,这个方法在demo中确实有效,但在游戏中导致画面一开始就卡顿,

感谢大神简答,内存并非没有清楚及时,因为10分钟,20分钟,30分钟这几个时间段都是持续上涨的

采用panda的方法,频繁gc,确如所说,有节奏的卡顿

游戏前十分钟运行正常,但内存在持续上升,20分钟左右内存达到200左右,开始卡顿,

全部加入对象池,这…我再考虑考虑,

this是传入cc.callFunc的,所以能用

加入手动 GC 是为了证明内存没有泄漏,但是一定要控制 GC 的频度

非常感谢!我的是棋牌游戏,我改为在每局开始前(这个时间点没有动画效果)调用这个方法,非常完美,内存会有不同程度回落,已经控制住了。非常感谢!!!

这个方法也是治标不治本啊,5分钟后每次gc就不能将刚涨上去的内存清理出来了…

是我的代码写的有问题么?

你的引擎版本是?

刚这周升级的1.6.0,之前是1.4.2

刚这周升级的1.6.0,之前是1.4.2。gc确实效过很明显,但是并不是每次都可以完全清理干净,随着时间的推移,还会一点一点上涨

一点一点的上涨,按照我的经验,是正常的。上涨速度会慢下来,最终稳定在一个峰值,这个过程一般要比较久。

在 1.6.2 中我们会增强 GC 的敏感度,参考

https://github.com/cocos-creator/cocos2d-x-lite/pull/777/files#diff-ace0136bea107cccfd75e8f2b3882e02R669

这个修改可以自己添加,JSGC_MAX_MALLOC_BYTES 的值也可以自己调整

在 1.7 中,JSC 和 V8 引擎对于 GC 的表现都比 Spidermonkey 要好很多,基本不会有这种静置状态下的增长

好的,我研究一下

哎…我已经无能为力。修改后, 场景一开始效果明显,但是…四十分钟后内存上涨了70M。没有要稳定下来的意思

dmo工程,7点05开启,初始内存45M

现在是8点11,内存占用是118:

刚刚没注意成了88M,两分钟又到了100M

启动后,内存慢慢上涨是正常的,久了就会稳定下来

手动调用GC是可以稳定内存,但是每调用一次GC界面就会卡一下?
GC时导致画面卡怎么破????

没办法,我就调了几个没有动画效果的时间点去调了,都是迂回策略。希望官方大大们早日解决这个问题吧

每次gc动画都会卡顿的

请问在2.1.3版本这个问题有改善吗?

是就算调用了cc.sys.garbageCollect() 也没办法吗?

问下这个修改 是3.9的版本 3.10之后代码不一样了,会存在gc问题吗