cor*_*zza 6 javascript memory oop memory-leaks memory-management
我制作了一个由许多小关卡组成的HTML5游戏.当玩家到达门时,会加载另一个级别.当一个级别加载时,它基本上只是将所有实例数组设置为[]然后通过创建新的事物实例将内容推送到它们中,例如:
enemies = [] //this has previously been full of pointers from the old level
for (i = 0; i < n_enemies; i ++)
enemies.push(new Enemy());
Run Code Online (Sandbox Code Playgroud)
但是,我注意到只是设置一个充满指针的数组[],实际上并没有删除实例!那么,javascript会自动执行此操作吗?或者我delete自己有每个实例?
如果数组中的对象不再从任何地方引用,那么它们将被垃圾收集。没有规范说明何时发生这种情况,但应该在将它们从数组中删除后不久发生。
这不应该出现内存泄漏。