[flexcoders] Re: Memory issues ... garbage collection only running in IE (not FF or Safari)
Here is how we manage collection when it comes to Araay collection. We declare a custom class whic helds an instance of the array collection and an array for fast searching. [Bindable] public class FullGameHistorySuiteStatuses { private var _suiteStatusesArrayCollection : ArrayCollection = new ArrayCollection(); private var _suiteStatusesArray : Array = new Array(); when you add you check if item not already in there, if so just update, otherwise add public function addSuiteStatus(suiteStatus : FullGameHistroySuiteStatus) : void { if (this._suiteStatusesArray[suiteStatus.id + _] == null) { this._suiteStatusesArray[suiteStatus.id + _] = suiteStatus; this._suiteStatusesArrayCollection.addItem(suiteStatus); } else { FullGameHistroySuiteStatus(this._suiteStatusesArray[suiteStatus.id + _]).updateFullGameHistorySuiteStatus(suiteStatus); } } Put in public getters/setters for props if needed Now the item class [Bindable] public class FullGameHistroySuiteStatus { public var id : String; private var _points : String; private var _place : String; // === // Constructor // === public function FullGameHistroySuiteStatus(id : String) { this.id = id; } public function updateFullGameHistorySuiteStatus(suiteStatus : FullGameHistroySuiteStatus) : void { this._place = suiteStatus.place; this._points = suiteStatus.points; } This is code snippet extracted form the app, you need to adapt it to your needs, however it works for us in eficienlyt managing collections because arrays are very fast for searching while array collections very good for bindings ... HTH, Claudiu --- In flexcoders@yahoogroups.com, e_baggg [EMAIL PROTECTED] wrote: Thanks for the great advice so far...so what is the best way of freeing Images for gc()? I have a DataGrid that has an itemRenderer with a mx:Image/...if I have a dataProvider ArrayCollection (where each records has a URL that the Image uses)...does simply setting the dataProvider to null take care of marking the image for GC? And anything I have a Bitmap for? Simply setting to null. Thanks again. --- In flexcoders@yahoogroups.com, Alex Harui aharui@ wrote: If your app creates lots of stuff, you'll create a high-water mark and GC won't run until you get back up near that high-water mark. Images are known to easy ways to set that high-water mark pretty high. In general, the answer is to re-use instead of re-create, and only create what you need when you need it. -Alex From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Blake Barrett Sent: Tuesday, October 28, 2008 3:09 PM To: flexcoders@yahoogroups.com Subject: RE: [flexcoders] Memory issues ... garbage collection only running in IE (not FF or Safari) e_baggg, You're not the only one. We're experiencing very similar problems. Our app just keeps gobbling memory until the browser crashes. We've had to resort to calling dispose() explicitly on every mx:Image and bitmap we ever instantiate, and explicitly calling removeAllChildren() on every contaniner before navigating away from anything. Helps a little. I'm going to look in to the link you mentioned. Maybe that will help us a little more than it has for you (fingers crossed). Let us all know if you find anything else out. Blake From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of e_baggg Sent: Tuesday, October 28, 2008 2:51 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] Memory issues ... garbage collection only running in IE (not FF or Safari) So I have an app in production which after 10 minutes of usage began to perform EXTREMELY slow, and users had to restart the app. (Flex 3) Windows and Mac...all browsers. I did some Profiling and did not get far. Whenever I take a Memory Snapshot, gc() is forced and all my objects are correctly removed from memory. So why are they not gc()'d in normal runtime?? I know gc() only runs when new memory is requested and nothing is being drawn/rendered. Both seem to be OK on my side. I have read extensively all the blogs and Adobe docs regarding this issue, including the event listener for ENTER_FRAME which calls System.gc() twice. (http://www.craftymind.com/2008/04/09/kick- starting-the-garbage-collector-in-actionscript-3-with-air/). This unfortunately did not work for me. To simplify, I created a simple app that adds and removes RichText fields. if I create 50 of them, then remove them all, then Add one back, that *should* force a gc() but it does not. The FF memory always stays high. I
[flexcoders] Re: Memory issues ... garbage collection only running in IE (not FF or Safari)
i've tried your example and didn't notice any memory leakage. anyway, why do you need to create components and remove them, and create again the same components? It looks like you made up an artificial problem for yourself :) --- In flexcoders@yahoogroups.com, e_baggg [EMAIL PROTECTED] wrote: So I have an app in production which after 10 minutes of usage began to perform EXTREMELY slow, and users had to restart the app. (Flex 3) Windows and Mac...all browsers. I did some Profiling and did not get far. Whenever I take a Memory Snapshot, gc() is forced and all my objects are correctly removed from memory. So why are they not gc()'d in normal runtime?? I know gc() only runs when new memory is requested and nothing is being drawn/rendered. Both seem to be OK on my side. I have read extensively all the blogs and Adobe docs regarding this issue, including the event listener for ENTER_FRAME which calls System.gc() twice. (http://www.craftymind.com/2008/04/09/kick- starting-the-garbage-collector-in-actionscript-3-with-air/). This unfortunately did not work for me. To simplify, I created a simple app that adds and removes RichText fields. if I create 50 of them, then remove them all, then Add one back, that *should* force a gc() but it does not. The FF memory always stays high. I noticed in IE, minimizing the browser window causes a gc() and my memory drops to a much lower #. Has anyone seen or come across this? B/c of this issue, we're pretty much going to lose our customers and try to wing a html/ajax app ASAP..so I'm scrambling to resolve this. Thanks in advance for any help. ?xml version=1.0 encoding=utf-8? mx:Application xmlns:mx=http://www.adobe.com/2006/mxml; creationComplete=init() layout=vertical mx:Script ![CDATA[ import mx.controls.RichTextEditor; private function removeit():void { this.removeChildAt(2); } private function doit():void { var rte : RichTextEditor = new RichTextEditor(); rte.width=300; rte.height=150; this.addChild(rte); } ]] /mx:Script mx:Button click=doit() label=Add/ mx:Button click=removeit() label=Remove/ /mx:Application
[flexcoders] Re: Memory issues ... garbage collection only running in IE (not FF or Safari)
My original mxml was a bad example I guess. In my application, which is a Flex app that has its own windowing (exactly like Windows)...when I add and create Windows and close them, the browser CPU memory always increments (except for IE when I minimize the browswer window and memory is restored). When using System.totalMemory, I see some memory gets cleaned up but not all of it and if I open and close the same window multiple times, it is inconsistent to how much memory is given back to the Player, but either way it continually increments. I use weakReferences everywhere and call removeAllChildren() on the toplevel containers and set the viewComponent to null when removing the Mediator from the Facade (PureMvc). But yeah, when using Profiler, which forces a gc(), all memory is correctly restored back the player. Just not in runtime. The hunt continues... --- In flexcoders@yahoogroups.com, andrii_olefirenko [EMAIL PROTECTED] wrote: i've tried your example and didn't notice any memory leakage. anyway, why do you need to create components and remove them, and create again the same components? It looks like you made up an artificial problem for yourself :) --- In flexcoders@yahoogroups.com, e_baggg e_baggg@ wrote: So I have an app in production which after 10 minutes of usage began to perform EXTREMELY slow, and users had to restart the app. (Flex 3) Windows and Mac...all browsers. I did some Profiling and did not get far. Whenever I take a Memory Snapshot, gc() is forced and all my objects are correctly removed from memory. So why are they not gc()'d in normal runtime?? I know gc() only runs when new memory is requested and nothing is being drawn/rendered. Both seem to be OK on my side. I have read extensively all the blogs and Adobe docs regarding this issue, including the event listener for ENTER_FRAME which calls System.gc() twice. (http://www.craftymind.com/2008/04/09/kick- starting-the-garbage-collector-in-actionscript-3-with-air/). This unfortunately did not work for me. To simplify, I created a simple app that adds and removes RichText fields. if I create 50 of them, then remove them all, then Add one back, that *should* force a gc() but it does not. The FF memory always stays high. I noticed in IE, minimizing the browser window causes a gc() and my memory drops to a much lower #. Has anyone seen or come across this? B/c of this issue, we're pretty much going to lose our customers and try to wing a html/ajax app ASAP..so I'm scrambling to resolve this. Thanks in advance for any help. ?xml version=1.0 encoding=utf-8? mx:Application xmlns:mx=http://www.adobe.com/2006/mxml; creationComplete=init() layout=vertical mx:Script ![CDATA[ import mx.controls.RichTextEditor; private function removeit():void { this.removeChildAt(2); } private function doit():void { var rte : RichTextEditor = new RichTextEditor(); rte.width=300; rte.height=150; this.addChild(rte); } ]] /mx:Script mx:Button click=doit() label=Add/ mx:Button click=removeit() label=Remove/ /mx:Application
[flexcoders] Re: Memory issues ... garbage collection only running in IE (not FF or Safari)
i still think that you could re-use window instances. After all, how many windows a regular human being is capable to deal with at one time - 7, 12,25? You just create a pool of instances and there will be *zero* startup time for the window and *zero* memory increase. Otherwise, you would need to create unlimited number of instances. When I was a little boy and programmed in Borland Delphi, I came up with the same idea for my applications - and i think this approach is still valid for Flex stuff :) Flex components by design are not light. for example, they could be references in static variables (i guess), which could prevent some objects from garbage collecting. There are item renderers, they are designed to be numerous, but even they, they are cached by components like datagrid, list, etc. --- In flexcoders@yahoogroups.com, e_baggg [EMAIL PROTECTED] wrote: My original mxml was a bad example I guess. In my application, which is a Flex app that has its own windowing (exactly like Windows)...when I add and create Windows and close them, the browser CPU memory always increments (except for IE when I minimize the browswer window and memory is restored). When using System.totalMemory, I see some memory gets cleaned up but not all of it and if I open and close the same window multiple times, it is inconsistent to how much memory is given back to the Player, but either way it continually increments. I use weakReferences everywhere and call removeAllChildren() on the toplevel containers and set the viewComponent to null when removing the Mediator from the Facade (PureMvc). But yeah, when using Profiler, which forces a gc(), all memory is correctly restored back the player. Just not in runtime. The hunt continues... --- In flexcoders@yahoogroups.com, andrii_olefirenko andriyo@ wrote: i've tried your example and didn't notice any memory leakage. anyway, why do you need to create components and remove them, and create again the same components? It looks like you made up an artificial problem for yourself :) --- In flexcoders@yahoogroups.com, e_baggg e_baggg@ wrote: So I have an app in production which after 10 minutes of usage began to perform EXTREMELY slow, and users had to restart the app. (Flex 3) Windows and Mac...all browsers. I did some Profiling and did not get far. Whenever I take a Memory Snapshot, gc() is forced and all my objects are correctly removed from memory. So why are they not gc()'d in normal runtime?? I know gc() only runs when new memory is requested and nothing is being drawn/rendered. Both seem to be OK on my side. I have read extensively all the blogs and Adobe docs regarding this issue, including the event listener for ENTER_FRAME which calls System.gc() twice. (http://www.craftymind.com/2008/04/09/kick- starting-the-garbage-collector-in-actionscript-3-with-air/). This unfortunately did not work for me. To simplify, I created a simple app that adds and removes RichText fields. if I create 50 of them, then remove them all, then Add one back, that *should* force a gc() but it does not. The FF memory always stays high. I noticed in IE, minimizing the browser window causes a gc() and my memory drops to a much lower #. Has anyone seen or come across this? B/c of this issue, we're pretty much going to lose our customers and try to wing a html/ajax app ASAP..so I'm scrambling to resolve this. Thanks in advance for any help. ?xml version=1.0 encoding=utf-8? mx:Application xmlns:mx=http://www.adobe.com/2006/mxml; creationComplete=init() layout=vertical mx:Script ![CDATA[ import mx.controls.RichTextEditor; private function removeit():void { this.removeChildAt(2); } private function doit():void { var rte : RichTextEditor = new RichTextEditor(); rte.width=300; rte.height=150; this.addChild(rte); } ]] /mx:Script mx:Button click=doit() label=Add/ mx:Button click=removeit() label=Remove/ /mx:Application
RE: [flexcoders] Re: Memory issues ... garbage collection only running in IE (not FF or Safari)
Setting Image to null is not good enough. Call load(null) on the Image before removing it from the display list and releasing references to it. GC() is not deterministic. The only ways to test are to use the profiler, or run the app over thousands of actions and see if you eventually reach a stable number. System.totalMemory does not measure memory used by the browser and OS to actually render things and the shrinks memory when minimized problem has been seen before and is under investigation by the player team. Also, the debugger/profiler player can leak memory that isn't always shown in the profiler but may show up in System.totalMemory. But, System.totalMemory is the high-water mark. It is rare for pages to be released because of the way the player allocates memory, so it is always best not to create stuff that you don't need. Also, make sure you're on the latest player 9. The final test is to run your app over thousands of iterations on a release player with a release SWF and see if it eventually reaches a stable browser process memory number. Using debug SWFs or debugger player in such a test will skew results. From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of andrii_olefirenko Sent: Wednesday, October 29, 2008 8:01 AM To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: Memory issues ... garbage collection only running in IE (not FF or Safari) i still think that you could re-use window instances. After all, how many windows a regular human being is capable to deal with at one time - 7, 12,25? You just create a pool of instances and there will be *zero* startup time for the window and *zero* memory increase. Otherwise, you would need to create unlimited number of instances. When I was a little boy and programmed in Borland Delphi, I came up with the same idea for my applications - and i think this approach is still valid for Flex stuff :) Flex components by design are not light. for example, they could be references in static variables (i guess), which could prevent some objects from garbage collecting. There are item renderers, they are designed to be numerous, but even they, they are cached by components like datagrid, list, etc. --- In flexcoders@yahoogroups.commailto:flexcoders%40yahoogroups.com, e_baggg [EMAIL PROTECTED] wrote: My original mxml was a bad example I guess. In my application, which is a Flex app that has its own windowing (exactly like Windows)...when I add and create Windows and close them, the browser CPU memory always increments (except for IE when I minimize the browswer window and memory is restored). When using System.totalMemory, I see some memory gets cleaned up but not all of it and if I open and close the same window multiple times, it is inconsistent to how much memory is given back to the Player, but either way it continually increments. I use weakReferences everywhere and call removeAllChildren() on the toplevel containers and set the viewComponent to null when removing the Mediator from the Facade (PureMvc). But yeah, when using Profiler, which forces a gc(), all memory is correctly restored back the player. Just not in runtime. The hunt continues... --- In flexcoders@yahoogroups.commailto:flexcoders%40yahoogroups.com, andrii_olefirenko andriyo@ wrote: i've tried your example and didn't notice any memory leakage. anyway, why do you need to create components and remove them, and create again the same components? It looks like you made up an artificial problem for yourself :) --- In flexcoders@yahoogroups.commailto:flexcoders%40yahoogroups.com, e_baggg e_baggg@ wrote: So I have an app in production which after 10 minutes of usage began to perform EXTREMELY slow, and users had to restart the app. (Flex 3) Windows and Mac...all browsers. I did some Profiling and did not get far. Whenever I take a Memory Snapshot, gc() is forced and all my objects are correctly removed from memory. So why are they not gc()'d in normal runtime?? I know gc() only runs when new memory is requested and nothing is being drawn/rendered. Both seem to be OK on my side. I have read extensively all the blogs and Adobe docs regarding this issue, including the event listener for ENTER_FRAME which calls System.gc() twice. (http://www.craftymind.com/2008/04/09/kick- starting-the-garbage-collector-in-actionscript-3-with-air/). This unfortunately did not work for me. To simplify, I created a simple app that adds and removes RichText fields. if I create 50 of them, then remove them all, then Add one back, that *should* force a gc() but it does not. The FF memory always stays high. I noticed in IE, minimizing the browser window causes a gc() and my memory drops to a much lower #. Has anyone seen or come across this? B/c of this issue, we're pretty much going to lose our customers and try to wing a html/ajax app ASAP..so I'm
[flexcoders] Re: Memory issues ... garbage collection only running in IE (not FF or Safari)
Thanks for the great advice so far...so what is the best way of freeing Images for gc()? I have a DataGrid that has an itemRenderer with a mx:Image/...if I have a dataProvider ArrayCollection (where each records has a URL that the Image uses)...does simply setting the dataProvider to null take care of marking the image for GC? And anything I have a Bitmap for? Simply setting to null. Thanks again. --- In flexcoders@yahoogroups.com, Alex Harui [EMAIL PROTECTED] wrote: If your app creates lots of stuff, you'll create a high-water mark and GC won't run until you get back up near that high-water mark. Images are known to easy ways to set that high-water mark pretty high. In general, the answer is to re-use instead of re-create, and only create what you need when you need it. -Alex From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Blake Barrett Sent: Tuesday, October 28, 2008 3:09 PM To: flexcoders@yahoogroups.com Subject: RE: [flexcoders] Memory issues ... garbage collection only running in IE (not FF or Safari) e_baggg, You're not the only one. We're experiencing very similar problems. Our app just keeps gobbling memory until the browser crashes. We've had to resort to calling dispose() explicitly on every mx:Image and bitmap we ever instantiate, and explicitly calling removeAllChildren() on every contaniner before navigating away from anything. Helps a little. I'm going to look in to the link you mentioned. Maybe that will help us a little more than it has for you (fingers crossed). Let us all know if you find anything else out. Blake From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of e_baggg Sent: Tuesday, October 28, 2008 2:51 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] Memory issues ... garbage collection only running in IE (not FF or Safari) So I have an app in production which after 10 minutes of usage began to perform EXTREMELY slow, and users had to restart the app. (Flex 3) Windows and Mac...all browsers. I did some Profiling and did not get far. Whenever I take a Memory Snapshot, gc() is forced and all my objects are correctly removed from memory. So why are they not gc()'d in normal runtime?? I know gc() only runs when new memory is requested and nothing is being drawn/rendered. Both seem to be OK on my side. I have read extensively all the blogs and Adobe docs regarding this issue, including the event listener for ENTER_FRAME which calls System.gc() twice. (http://www.craftymind.com/2008/04/09/kick- starting-the-garbage-collector-in-actionscript-3-with-air/). This unfortunately did not work for me. To simplify, I created a simple app that adds and removes RichText fields. if I create 50 of them, then remove them all, then Add one back, that *should* force a gc() but it does not. The FF memory always stays high. I noticed in IE, minimizing the browser window causes a gc() and my memory drops to a much lower #. Has anyone seen or come across this? B/c of this issue, we're pretty much going to lose our customers and try to wing a html/ajax app ASAP..so I'm scrambling to resolve this. Thanks in advance for any help. ?xml version=1.0 encoding=utf-8? mx:Application xmlns:mx=http://www.adobe.com/2006/mxml; creationComplete=init() layout=vertical mx:Script ![CDATA[ import mx.controls.RichTextEditor; private function removeit():void { this.removeChildAt(2); } private function doit():void { var rte : RichTextEditor = new RichTextEditor(); rte.width=300; rte.height=150; this.addChild(rte); } ]] /mx:Script mx:Button click=doit() label=Add/ mx:Button click=removeit() label=Remove/ /mx:Application
[flexcoders] Re: memory issues / garbage collection?
Hello I'm dealing with memory issues myself. For a more in depth description of how resources are managed and even hacks to force garbage collection the venerable Grant Skinner did a 3 part series complete with interactive demos. Can't ask for much more than that! http://www.gskinner.com/blog/archives/2006/06/as3_resource_ma.html Good luck and if anyone is interested I'm going to start on a component that views the System.totalMemory on a timer. Sort of a mini task manager. I'll post it on RIAForge or onflex.org when it's of any use. - paul --- In flexcoders@yahoogroups.com, Kenneth Sutherland [EMAIL PROTECTED] wrote: Thanks for the information, but it would be handy if there was some sort of in depth tutorial on this. I've seen a couple of macromedia presentations on various flex topics and found them useful, and one of them mentioned in passing memory issues (but only for about 30 seconds). If there was one that was specifically on memory issues, weak bindings etc then that would be great. If such a presentation doesn't exist then I'd recommend to macromedia that they create one. It's all very well creating nice flashy web apps, but if they end up slowing down the host machine after a few minutes of use due to sloppy weak code then that's no use. There does seem to be a lack of in-depth books/information at the moment. I've had a look at Flex 2 training from the source and it's a bit fluffy and lacking any depth. Good book in that it covers the basics but that's all it does. So although the updated photoviewer code will probably solve my issue when I get to compare my code with the new code, I'd like to be able to solve it myself by learning more about weak references and debugging the app so that I can find the memory leak myself. Cheers Kenneth. From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Matt Chotin Sent: 08 December 2006 05:33 To: flexcoders@yahoogroups.com Subject: RE: [flexcoders] memory issues / garbage collection? Actually I forgot, there was a memory leak still found due to an event listener. We've fixed it in the 2.0.1 version of the sample (I didn't do it, the bug note said we made an event listener weak to address it). So it was my fault :-) Matt From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Matt Chotin Sent: Thursday, December 07, 2006 9:23 PM To: flexcoders@yahoogroups.com Subject: RE: [flexcoders] memory issues / garbage collection? When we wrote the PhotoViewer there were some memory leaks but I thought we got them all. If you keep an eye on the task manager it should go back down after a minute or two. Of course if by playing with the app you mean you edited it, I absolve myself of responsibility, even if all you did was change a color ;-) Matt From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Kelly Sent: Thursday, December 07, 2006 12:20 PM To: flexcoders@yahoogroups.com Subject: RE: [flexcoders] memory issues / garbage collection? I was having this problem when I built the map component for www.pikeo.com http://www.pikeo.com/ You have to make sure that all references to an object are gone before it will get garbage collected. Once all references to the object are gone it will get collected within 5 seconds usually. --Kelly From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Kenneth Sutherland Sent: Thursday, December 07, 2006 1:18 AM To: flexcoders@yahoogroups.com Subject: [flexcoders] memory issues / garbage collection? I've been playing around with the photoviewer example (from the adobe site) quite a bit in my spare time and I've noticed that when I open up the taskmanager and I run the application that the memory consumption just keeps on going up! Each time I look at another photo, up it goes. So I'm looking for any hints, tips, tutorials or books that will help to get flex to garbage collect all of the old memory that the app no longer needs. Thanks.
[flexcoders] Re: memory issues / garbage collection?
Check this out: Flex Performance Tips - David George https://admin.adobe.acrobat.com/_a300965365/p71169528/ --- In flexcoders@yahoogroups.com, Pablo Rangel [EMAIL PROTECTED] wrote: Hello I'm dealing with memory issues myself. For a more in depth description of how resources are managed and even hacks to force garbage collection the venerable Grant Skinner did a 3 part series complete with interactive demos. Can't ask for much more than that! http://www.gskinner.com/blog/archives/2006/06/as3_resource_ma.html Good luck and if anyone is interested I'm going to start on a component that views the System.totalMemory on a timer. Sort of a mini task manager. I'll post it on RIAForge or onflex.org when it's of any use. - paul --- In flexcoders@yahoogroups.com, Kenneth Sutherland ksutherland@ wrote: Thanks for the information, but it would be handy if there was some sort of in depth tutorial on this. I've seen a couple of macromedia presentations on various flex topics and found them useful, and one of them mentioned in passing memory issues (but only for about 30 seconds). If there was one that was specifically on memory issues, weak bindings etc then that would be great. If such a presentation doesn't exist then I'd recommend to macromedia that they create one. It's all very well creating nice flashy web apps, but if they end up slowing down the host machine after a few minutes of use due to sloppy weak code then that's no use. There does seem to be a lack of in-depth books/information at the moment. I've had a look at Flex 2 training from the source and it's a bit fluffy and lacking any depth. Good book in that it covers the basics but that's all it does. So although the updated photoviewer code will probably solve my issue when I get to compare my code with the new code, I'd like to be able to solve it myself by learning more about weak references and debugging the app so that I can find the memory leak myself. Cheers Kenneth. From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Matt Chotin Sent: 08 December 2006 05:33 To: flexcoders@yahoogroups.com Subject: RE: [flexcoders] memory issues / garbage collection? Actually I forgot, there was a memory leak still found due to an event listener. We've fixed it in the 2.0.1 version of the sample (I didn't do it, the bug note said we made an event listener weak to address it). So it was my fault :-) Matt From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Matt Chotin Sent: Thursday, December 07, 2006 9:23 PM To: flexcoders@yahoogroups.com Subject: RE: [flexcoders] memory issues / garbage collection? When we wrote the PhotoViewer there were some memory leaks but I thought we got them all. If you keep an eye on the task manager it should go back down after a minute or two. Of course if by playing with the app you mean you edited it, I absolve myself of responsibility, even if all you did was change a color ;-) Matt From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Kelly Sent: Thursday, December 07, 2006 12:20 PM To: flexcoders@yahoogroups.com Subject: RE: [flexcoders] memory issues / garbage collection? I was having this problem when I built the map component for www.pikeo.com http://www.pikeo.com/ You have to make sure that all references to an object are gone before it will get garbage collected. Once all references to the object are gone it will get collected within 5 seconds usually. --Kelly From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Kenneth Sutherland Sent: Thursday, December 07, 2006 1:18 AM To: flexcoders@yahoogroups.com Subject: [flexcoders] memory issues / garbage collection? I've been playing around with the photoviewer example (from the adobe site) quite a bit in my spare time and I've noticed that when I open up the taskmanager and I run the application that the memory consumption just keeps on going up! Each time I look at another photo, up it goes. So I'm looking for any hints, tips, tutorials or books that will help to get flex to garbage collect all of the old memory that the app no longer needs. Thanks.