Castさんはなぜ… Castさんはメモリの解放をしてくれないのでしょうか? * 何か間違えてる?? * * @use SWFProfiler * * ... * @author sph62 sph62 forked:2favorite:0lines:59license : All rights reserved modified : 2009-04-30 03:18:05 Embed Tweet /** * Castさんはメモリの解放をしてくれないのでしょうか? * 何か間違えてる?? * * @use SWFProfiler * * ... * @author sph62 */ package { import flash.display.Sprite; import flash.events.Event; import flash.text.TextField; import flash.system.System; import flash.utils.setTimeout; import flash.utils.setInterval; import jp.progression.casts.CastSprite; import com.flashdynamix.utils.SWFProfiler; public class FlashTest extends Sprite { private var tf:TextField public function FlashTest() { // write as3 code here.. if (stage) init(); else addEventListener(Event.ADDED_TO_STAGE, init); } private function init(e:Event = null):void { removeEventListener(Event.ADDED_TO_STAGE, init); SWFProfiler.init(this); tf = new TextField(); tf.multiline = true; tf.width = stage.stageWidth; tf.height = stage.stageHeight; tf.text = "1秒後にSpriteをテストします。\ngcして、5秒待ってCastSpriteをテストします。\n" addChild(tf) setTimeout(testSprite,1000); setTimeout(testCast,6000); setInterval(memTrace,10000); } private function testSprite():void{ tf.appendText("Spriteを addChild → removeChild → null を 10000回\n"); tf.appendText("[Memory] "+(System.totalMemory/1000000).toString()+"MB\n") for(var i:int = 0;i<10000;i++){ var sp:Sprite = new Sprite(); addChild(sp); removeChild(sp); sp = null; } tf.appendText("end & gc\n"); SWFProfiler.gc(); tf.appendText("[Memory] "+(System.totalMemory/1000000).toString()+"MB\n"); } private function testCast():void{ tf.appendText("CastSpriteを addChild → removeChild → null を 1000回\n"); tf.appendText("[Memory] "+(System.totalMemory/1000000).toString()+"MB\n") for(var i:int = 0;i<1000;i++){ var cast:CastSprite = new CastSprite(); addChild(cast); removeChild(cast); cast = null; } tf.appendText("end & gc\n"); SWFProfiler.gc(); tf.appendText("[Memory] "+(System.totalMemory/1000000).toString()+"MB\n") } private function memTrace():void{ tf.appendText("[Memory] "+(System.totalMemory/1000000).toString()+"MB\n") } } } Code Fullscreen Preview Fullscreen CastSprite progression question-closed appendText System.totalMemory System.gc toString CastSprite removeChild stage Event.ADDED_TO_STAGE removeEventListener height width addChild addEventListener multiline TextField text Event Sprite int sort new page view favorite forked pv357 forked from: Castさんはなぜ… --> Pr.. sph62 forked:0 favorite:0lines:59 (diff:8) pv2852 forked from: Castさんはなぜ… hacker_y48qdmdh forked:2 favorite:3lines:59 (diff:46) tag: progression