Really, what im looking for, is some way to check if an object no longer exists. I thought a weak reference in the dictionary might work for me, but after 14 hours of inactivity, those weak references are still there.
Am i misunderstanding the nature of a weak reference? Is there some other way that I can test to see if a given object still exists? --- In [email protected], "Matt Chotin" <[EMAIL PROTECTED]> wrote: > > There's no way to know if garbage collection was forced. Create a > method does does a for loop that creates 10,000 objects into mid- air. > > > > For (var i:int=0; I < 10000; i++) > > New Object(); > > > > That should trigger the garbage collector hopefully. > > > > ________________________________ > > From: [email protected] [mailto:[EMAIL PROTECTED] On > Behalf Of jeff tapper > Sent: Thursday, July 27, 2006 5:56 AM > To: [email protected] > Subject: [flexcoders] Re: Tools for listing objects > > > > Well, that experiment failed as well. 14 hours later, the same > objects are still listed in the dictionary. > Wed Jul 26 17:07:23 GMT-0400 2006 > Testing56:Testing56 > Testing19:Testing19 > Testing38:Testing38 > Thu Jul 27 08:50:31 GMT-0400 2006 > Testing56:Testing56 > Testing19:Testing19 > Testing38:Testing38 > > Am I misunderstanding the usage of Weak References in the > Dictionary? Does anyone have any idea how this can be used to keep > track of what objects exist and which dont? > > --- In [email protected] <mailto:flexcoders% 40yahoogroups.com> > , "jeff tapper" <jeff@> wrote: > > > > Ok, heres a sketch of what im trying now. > > App.mxml > > ==== > > <?xml version="1.0" encoding="utf-8"?> > > <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml > <http://www.adobe.com/2006/mxml> " > > layout="vertical" creationComplete="initApp()"> > > <mx:Script> > > <![CDATA[ > > import mx.managers.PopUpManager; > > import mx.managers.PopUpManagerChildList; > > import mx.core.IFlexDisplayObject; > > private var screenDict:Dictionary; > > private var scr1:IFlexDisplayObject; > > private function initApp():void{ > > screenDict = new Dictionary(true); > > } > > public function createScreen > > (parent:DisplayObjectContainer, > > screen:Class,modal:Boolean=false):IFlexDisplayObject{ > > var s:IFlexDisplayObject = > > PopUpManager.createPopUp(parent, screen, > > modal,PopUpManagerChildList.APPLICATION); > > screenDict[s] = s.name > > return s; > > } > > public function showObjects():void{ > > trace(new Date()); > > for (var i:* in screenDict){ > > trace(i+":"+screenDict[i]); > > } > > } > > public function removeScreen > > (screen:IFlexDisplayObject):void{ > > PopUpManager.removePopUp(screen); > > } > > private function makeScreen():void{ > > if(scr1 == null){ > > scr1 = createScreen > > (this,Testing,false); > > } > > } > > private function destroyScreen():void{ > > removeScreen(scr1); > > scr1 = null; > > } > > > > ]]> > > </mx:Script> > > <mx:Button click="makeScreen()" label="make"/> > > <mx:Button click="destroyScreen()" label="kill"/> > > <mx:Button click="showObjects()" label="show"/> > > </mx:Application> > > > > Testing.mxml > > ===== > > <?xml version="1.0" encoding="utf-8"?> > > <mx:Panel xmlns:mx="http://www.adobe.com/2006/mxml > <http://www.adobe.com/2006/mxml> " width="400" > > height="300"> > > <mx:Button click="this.dispatchEvent(new Event('foo'))"/> > > </mx:Panel> > > > > Now, as i run this, if i click make, kill, make, kill, show, The > > trace shows: > > Wed Jul 26 17:07:14 GMT-0400 2006 > > Testing58:Testing58 > > Testing20:Testing20 > > Testing39:Testing39 > > > > Implying that the screens arent really being destroyed. Perhaps I > > didnt wait long enough, so 5 minutes later, I tried the same > thing, > > with the same results. Maybe 5 minutes isnt long enough, so I'll > > leave it running over night and try again in the morning. But, > the > > fundemental question is, have i done enough to remove the > screens? > > Should the garbage collector clean the unused ones up, or have i > > somehow left a reference lingering? > > > > We have a very complex app, which I want to ensure we clean up all > > unused objects, but im having trouble finding a way to verify they > > are removed. > > > -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com Yahoo! Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/flexcoders/ <*> To unsubscribe from this group, send an email to: [EMAIL PROTECTED] <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/

