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