Цитата:
Сообщение от goodguy
Да это понятно, но тем не менее, по пока на изображение есть хоть одна ссылка, оно так и будет занимать то количество памяти, которое и занимало до вызова dispose(). О чем, собственно, говорит отладчик во флешдевелоп.
|
Ничего подобного.
Простой тест.

Код AS3:
package {
/* IMPORT *///{ /
import flash.display.*;
import flash.events.*;
//}
public class TestDispose extends Sprite {
/* - VAR PRIVATE *///{ /
private var _bitmap:Bitmap = null;
//}
/* * CONSTRUCTOR * *///{ /
public function TestDispose () {
_bitmap = new Bitmap ()
addChild (_bitmap)
stage.addEventListener (MouseEvent.CLICK, onClick)
}
//}
/* EVENT *///{ /
private function onClick (event:MouseEvent):void {
if (_bitmap.bitmapData == null) {
_bitmap.bitmapData = new BitmapData (3000, 3000);
trace ('new');
} else {
_bitmap.bitmapData.dispose ();
trace ('dispose');
}
}
//}
}
}
При запуске отладчик показывает 5 кб
При new 40,8 кб
При dispose 5,6 кб
Можно воспользоваться System.totalMemory вместо профайлера, результат будет тот же.