2015-11-24 33 views
0

我正在使用相位器2.4.3,在我关闭时我已销毁并将变量设置为null。仍然当我重播(通过再次调用状态)5或6次铬浏览器崩溃由于内存问题。Phaser js内存泄漏

例如使用在关机功能:

if (this.backgroundBg) { 
    this.backgroundBg.destroy(); 
    this.backgroundBg = null; 
} 

任何帮助表示赞赏。

+0

您是否拥有预加载所有资产的“加载程序”状态?也许destroy()函数也会删除缓存的精灵,所以你必须重新加载资源? – Apovtx

+0

是的,我也有一个单独的预加载器状态。这个问题不是Phaser的问题,在游戏状态中,我使用另一个脚本来创建问题。所以现在问题就解决了。 – abhiklpm

回答

1

对不起,问题与Phaser不同,在gameover状态下,我使用了另一个创建问题的脚本。所以现在问题就解决了。

+0

只是为了让你知道,当你改变状态时,所有的精灵都应该被自动销毁。所以你不应该在你的关机功能中进行手动清理。为了测试这个,创建一个Sprite作为一个静态变量,并试图在下一个状态中引用它。其中的关键变量应该被销毁,并且对象本身最终将被GC'd(如果你没有保留静态引用)。 –