闪存中的内存如何干净,我尝试删除子,null但内存不清理。
var m:m_mc = new m_mc ();
addChild (m);
clean.addEventListener(MouseEvent.CLICK, fl_clean);
function fl_clean(event:MouseEvent):void
{
removeChild (m);
m = null;
}
答案 0 :(得分:1)
你是如何准确检查内存的?什么样的对象是“我”?
将其设置为null并不意味着内存将立即恢复。您刚刚实现该对象符合垃圾收集条件。垃圾收集器可能会或可能不会在下一个周期中提取它,您可能永远不会知道,也无法确定。当运行时需要内存或者强制垃圾收集器选择它的某些其他条件时,它将被拾取。如果您使用大位图,可以使用.dispose()方法立即恢复内存。但是位图对象本身仍将在内存中持续存在,等待垃圾收集器在“决定”这样做时进行拾取。
答案 1 :(得分:0)
使用addEventListener的weakeventlistener参数或fl_clean中的removeEventListener。