我有一个按钮数组,我附加了这样的事件监听器。Actionscript:为什么这个Event Listener导致大量的内存消耗
arr[c].addEventListener(MouseEvent.MOUSE_UP, Proxy.go(this, click, Model.categoriesListXml.category_0[i].category_1[j][email protected]_id, Model.categoriesListXml.category_0[i].category_1[j][email protected]));
其中150个使用了32MB的内存。
当我用下面的内存下降到2MB。
var categoryId:String = Model.categoriesListXml.category_0[i].category_1[j][email protected]_id;
var name:String = Model.categoriesListXml.category_0[i].category_1[j][email protected];
arr[c].addEventListener(MouseEvent.MOUSE_UP, Proxy.go(this, click, categoryId, name));
我所做的只是在事件监听器中使用之前将xml元素放入自己的变量中。
有谁知道为什么会发生这种情况?
我的猜测是整个XML对象被包含而不仅仅是我需要的元素。
@Organic,感谢您的全面解释,这是有道理的。所以我在听众中尝试了.toString,这也解决了内存问题。 – Mar