公司的上线产品,考虑从2.1.4升级到2.2.1,昨天尝试了一个通宵,发现一些变化
1、以往2.1.4引擎使用时,我们对序列帧的资源做了资源池的控制,每6秒资源会自己看看有没有被用到,如果没有被用到,则自己会释放。伴随着JS虚拟机每20~30秒的GC,内存是动态的在变化的。
2、切换到2.2.1时,我们发现GC的机制改变了:
当任意使用 new 的方式创建的 Node 在某个 sences 中使用过时(比如battle sences)。切换到其他的 sences 后不会动态释放(比如从战斗切换回主城)。若想在其他sences中释放资源,可以手动呼唤GC。
GC方法:cc.sys.garbageCollect()
PS:GC消耗很大,切勿频繁呼唤
