0
我正在使用弱密钥字典来测试对象是否被垃圾收集。当所有对字典外部的对象的引用都被删除时,我希望字典不再被填充。它似乎适用于Object,但对于Sprite它表示垃圾收集尚未发生。谁能告诉我我忽略了什么?垃圾收集测试失败?
import flash.utils.Dictionary;
var dictionary:Dictionary=new Dictionary(true);
this.addEventListener(Event.ENTER_FRAME,collectionTest);
var sprite:Sprite=new Sprite();
dictionary[sprite]=true;
sprite=null;
trace(sprite);//traces null
function collectionTest(event:Event):void{
var cleared:Boolean = true;
for each (var key:* in dictionary) {
cleared = false;
}
if (cleared) {
trace("Collection Success.");
} else {
trace("Collection Failure");
}
}
贾森,感谢伟大的反应! – user1028857