我想知道清空关联数组,而不会造成任何内存泄漏(该值是JS对象)的javascript:删除关联数组的所有对象元素
只是可以肯定,我的最有效的方法尝试迭代数组的元素,为每个元素对象调用'delete'操作,以便所有元素对象都成为垃圾收集的候选对象。最后,我使用以下命令重置关联数组: somearray = {};
是否需要为每个元素调用“删除”操作?或者重置变量值是否足够,以便所有元素都将被垃圾收集?
谢谢!
我想知道清空关联数组,而不会造成任何内存泄漏(该值是JS对象)的javascript:删除关联数组的所有对象元素
只是可以肯定,我的最有效的方法尝试迭代数组的元素,为每个元素对象调用'delete'操作,以便所有元素对象都成为垃圾收集的候选对象。最后,我使用以下命令重置关联数组: somearray = {};
是否需要为每个元素调用“删除”操作?或者重置变量值是否足够,以便所有元素都将被垃圾收集?
谢谢!
嗨,谢谢你的回复。不过,我想进一步澄清我的担忧。 我有一个用于存储GMarker对象的关联数组。在将每个GMarker对象添加到数组后,它也会添加到地图中(使用GMap2.addOverlay()方法) 当我想从地图中删除所有标记时,我只需要调用GMap2.clearOverlays()方法。但除此之外,我还必须清除关联数组。 这是否意味着当我重置变量时,所有包含的对象最终都会被垃圾回收? 在此先感谢 – Erwin 2010-01-04 14:35:54
是的,他们会。一般来说,找出最佳方法是在循环中运行一百万次逻辑,并在任务管理器中循环使用内存。 – SLaks 2010-01-04 14:42:40
我明白了。那么我会尝试一下。谢谢您的帮助! – Erwin 2010-01-04 14:58:07