That's a local variable right? Doesn't it happen automatic? I must concentrate on the _large Sprite, isn't it?
-----Original Message----- From: flashcoders-boun...@chattyfig.figleaf.com [mailto:flashcoders-boun...@chattyfig.figleaf.com] On Behalf Of Glen Pike Sent: Wednesday, 21 January 2009 12:20 To: Flash Coders List Subject: Re: [Flashcoders] Garbage Collection difficulty Hi, Do you have to destroy the Bitmap you create in the largeLoaded function??? Glen Sander Schuurman wrote: > Hi cool list, > > I'm struggling with my Image class. It's supposed to load and unload > different sized images dynamicly; but I can't seem to get it to work > properly. The loading works fine, but the unloading not for the full 100%. It > visually unloads the image, but it remains in the memory. I have tried > several different things; I'm a bit stuck now. > > Here is a stripped class: > > public class Image extends MovieClip > { > ... > private var _largeLoader:Loader; > private var _large:Sprite; > ... > public function Image( thumbUrl :String, > normalUrl :String, > largeUrl :String ) > { > _tu = thumbUrl; > _nu = normalUrl; > _lu = largeUrl; > } > ... > public function loadLarge() :void > { > _largeLoader = new Loader(); > > _largeLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, largeLoaded, > false, 0, true); > > _largeLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, > errorOccured, false, 0, true); > _largeLoader.load(new URLRequest(_lu)); > } > > private function largeLoaded( e :Event ) :void > { > var b:Bitmap = Bitmap(largeLoader.content); > > > _largeLoader.contentLoaderInfo.removeEventListener(Event.COMPLETE, > largeLoaded); > > _largeLoader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, > errorOccured); > _largeLoader = null; > > _large = new Sprite(); > _large.addChild(b); > addChild(_large); > > dispatchEvent(new Event(Image.IMG_LOADED)); > } > ... > public function clear( full :Boolean = false ) :void > { > // clear normal img and large img > ... ? > > // tried things like: > > //_normal.removeChildAt(0); > //_normal = null; > //removeChild(_normal); > //_large.removeChildAt(0); > //_large = null; > //removeChild(_large); > //delete(_normal.removeChildAt(0)); > //delete(_large.removeChildAt(0)); > > // removes the images visually, but they won't get > GC'ed > > if (full) > { > // clear thumb and itself > } > } > } > > Thanks in advance! > _______________________________________________ > Flashcoders mailing list > Flashcoders@chattyfig.figleaf.com > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > > > _______________________________________________ Flashcoders mailing list Flashcoders@chattyfig.figleaf.com http://chattyfig.figleaf.com/mailman/listinfo/flashcoders _______________________________________________ Flashcoders mailing list Flashcoders@chattyfig.figleaf.com http://chattyfig.figleaf.com/mailman/listinfo/flashcoders