我有一個按鈕數組,我附加了這樣的事件監聽器。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