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- 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 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] Memory issues ... garbage collection only running in IE (not FF or Safari)
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
RE: [flexcoders] memory issues / garbage collection?
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.
Re: [flexcoders] memory issues / garbage collection?
Hello, Maybe in that app, unused BitmapData not disposing. And they eats your memory. When you working with images just dispose thas Bitmaps what u no longer need. Kenneth Sutherland wrote: 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 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/ * Your email settings: Individual Email | Traditional * To change settings online go to: http://groups.yahoo.com/group/flexcoders/join (Yahoo! ID required) * To change settings via email: mailto:[EMAIL PROTECTED] mailto:[EMAIL PROTECTED] * 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/
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.
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.
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.