bitmapの削除
ActionScript3.0 | メモリの解放 (WakaZ 〜 interactive 3DCG and FLASH)
http://wakaz.info/2008/12/actionscript30_1.html
Flashのメモリを制する5つの秘訣.. | エントリー | _level0.KAYAC
http://level0.kayac.com/2008/11/memory_leak.php
とりあえずテストで書いたのをそのまま貼り付け。
うーん。これでもGCが走るまではメモリはすぐには解放されないらしい。
多いけど、あらかじめ固定分確保しとく方がいいのか?
*
これで生成&削除を繰り返していたら、
そのうち解放されることを確認した。これでなんとかメモリリークは防げるかな。
// sprite_ary[n] にはspriteが入っている。 // sprite_ary[n] の子は bitmap 一つだけ // bitmapがないこともあるのでその時は何もしない // var p_sprite:Sprite = sprite_ary[cnt]; // if (p_sprite.numChildren > 0) { trace("sprite child object num " + p_sprite.numChildren); var child_bitmap:Bitmap = p_sprite.getChildAt(0) as Bitmap; if (child_bitmap != null) { trace("test"); // ここがミソ! child_bitmap.bitmapData.dispose(); p_sprite.removeChild(child_bitmap); child_bitmap = null; //trace(p_sprite.getChildAt(0)); //trace(p_sprite.contains(p_sprite.getChildAt(0))); //var bitmap_index:int = p_sprite.getChildIndex(child_bitmap); //trace("sprite contains is " + p_sprite.contains(child_bitmap)); //trace("sprite bitmap index " + String(bitmap_index)); //trace("sprite child 0 is " + p_sprite.getChildAt(0)); } }